Beim Erstellen einer neuen ASP.NET-Anwendung in Visual Studio werden einige Dateien und Ordner automatisch erstellt. Einer dieser Ordner heißt App_Data
.
Auch beim Veröffentlichen einer Website durch Auswahl der Build->Publish
Menüoption ist ein Kontrollkästchen verfügbar Include files from the App_Data folder
.
Habe ich Recht, wenn ich davon ausgehe, dass die in dieser Datei und ihren Unterordnern enthaltenen Dateien nicht über das Internet zugänglich sind? Wäre es beispielsweise sicher, Ressourcen in diesen Ordner zu legen, die nur vom Anwendungscode verwendet werden sollen?
Was ist der eigentliche Verwendungszweck des App_Data
Ordners?
BEARBEITEN:
Vielen Dank für alle Antworten. Von den bisher eingegangenen Antworten interessieren mich hauptsächlich zwei Punkte:
- App_Data ist im Wesentlichen ein Speicherpunkt für den dateibasierten Datenspeicher
- Es sollte nicht für das Web sichtbar sein und ist ein Ort, an dem die Web-App Daten speichern und lesen kann
Wäre jemand in der Lage anzugeben, wie die "nicht im Web sichtbar" sichergestellt ist? Kann ich mich bei der Standardbereitstellung auf diese Tatsache verlassen oder muss ich auch einige IIS-Einstellungen auf dem Server überprüfen?
In der Situation, in der ich eine Reihe von PDF-Dateien habe, auf die ich nur über die Anwendung zugreifen möchte. Wäre der Ordner App_Data der richtige Ort, oder sollte ich einen separaten Ordner erstellen und IIS manuell festlegen, um sicherzustellen, dass das Web nicht auf ihn zugreifen kann?
Markieren Sie in IIS den Computer, doppelklicken Sie auf "Filter anfordern" und öffnen Sie die Registerkarte "Versteckte Segmente". "App_Data" wird dort als eingeschränkter Ordner aufgeführt. Ja, ich weiß, dass dieser Thread wirklich alt ist, aber dies gilt immer noch.
quelle
Die beabsichtigte Verwendung von App_data besteht darin, Anwendungsdaten für den Webprozess zu speichern, um darauf zugreifen zu können. Es sollte nicht für das Web sichtbar sein und ist ein Ort, an dem die Web-App Daten speichern und lesen kann.
quelle
Hier können Sie eine eingebettete Datenbank wie SQL Server Express, Access oder SQLite ablegen.
quelle
Der Ordner App_Data ist ein Ordner, für den Ihr asp.net-Arbeitsprozess ebenfalls Dateisystemrechte besitzt, der jedoch nicht über den Webserver veröffentlicht wird.
Zum Beispiel aktualisieren wir damit eine lokale CSV eines Kontaktformulars . Wenn die bevorzugte Methode für E-Mails fehlschlägt oder eine Abfrage der Datenquelle erforderlich ist, sind die App_Data-Dateien vorhanden.
Es ist nicht ideal, aber es ist ein guter Rückfall.
quelle
Aus der Dokumentation zur ASP.NET-Webprojekt-Ordnerstruktur in MSDN:
quelle
Die Hauptabsicht besteht darin, die Datenbankdatei (en) Ihrer Anwendung zu behalten.
Und nein, dies ist standardmäßig nicht über das Web zugänglich.
quelle
Wir verwenden es als temporären Speicherbereich für hochgeladene CSV-Dateien. Nach dem Hochladen verarbeitet und löscht eine Ajax-Methode die Datei.
quelle
Die beabsichtigte Verwendung für App_Data ist das Speichern datenbankbezogener Dateien. Normalerweise SQL Server Express-MDF-Dateien.
quelle