2010-02-08 16 views
5

Ich benutze eine benutzerdefinierte Sicherheit (keine Mitgliedschaft Anbieter). Nachdem sich der Benutzer anmeldet ... wird ein Ordner "App_Data" mit ASPNETDB.MDF automatisch erstellt ... auf meinem lokalen Rechner. Wenn ich dies auf einem Remote-Server bereitstellen, funktioniert es aufgrund von Sicherheitseinschränkungen für App_Data nicht.Asp.net mvc kann nicht ohne App_Data arbeiten

Auch wenn ich diesen Ordner lösche und die Anwendung neu starte ... es wird neu erstellt, obwohl ich alle Verweise auf Mitgliedschaft/Rollen/Profilanbieter entfernt ... Nichts im Code verwendet ... nur die einfache alt FormsAuthentifizierung

Wie läuft das ab?

+0

Könnte es eine web.config-Sache sein? Wie sehen die zugehörigen Konfigurationsdaten aus? – ziya

+0

Ich habe meine web.config hinzugefügt ... Ich glaube nicht, dass es das Problem hier ist! –

+0

Verwenden Sie das eingebaute "Website Administration Tool" zufällig? – mxmissile

Antwort

1

In Ihrem Code muss immer noch ein Platz vorhanden sein, an dem Mitgliedschaft/Rollen/Profildienst verwendet wird. Wenn der Provider nicht angegeben ist, verwendet Asp.Net den Standardwert =>, der die MDF-Datei erstellt.

Machen Sie es in Ihrer Entwicklungsumgebung für das Asp.Net unmöglich, die .mdf-Datei zu erstellen: z. Entfernen Sie alle Rechte von diesem App_Data, fügen Sie eine Textdatei ein und benennen Sie sie als ASPNETDB.MDF oder etwas ähnliches ...

Auf diese Weise erhalten Sie den Absturz im Debug-Modus. Dann können Sie sehen, was die Zeile ist, die versucht, den Dienst zu verwenden => der dann den Standardprovider verwendet => erstellt die DB-Datei.

+0

Willkommen an Bord ... Ich werde es ausprobieren –

+0

, dass die Arbeit getan ... fand ich einen Hinweis auf die Mitgliedschaft in Global.asax protected void Application_AuthenticateRequest Datei() { wenn (User! = Null) Mitgliedschaft .GetUser (wahr); } –