Frage

Beim Erstellen einer neuen ASP.NET-Anwendung in Visual Studio werden automatisch einige Dateien und Ordner erstellt.Einer dieser Ordner heißt App_Data.

Auch beim Veröffentlichen einer Website durch Auswahl der Menüoption Build->Publish ein Kontrollkästchen ist verfügbar Include files from the App_Data folder.

Habe ich recht, wenn ich davon ausgehe, dass die in dieser Datei und ihren Unterordnern abgelegten Dateien nicht über das Internet zugänglich sind?Wäre es beispielsweise sicher, in diesem Ordner Ressourcen abzulegen, die nur vom Anwendungscode verwendet werden sollen?

Was ist der tatsächliche Verwendungszweck? App_Data Ordner?

BEARBEITEN:

Vielen Dank für alle Antworten.Von den bisher eingegangenen Antworten interessieren mich vor allem zwei erwähnte Punkte:

  1. App_Data ist im Wesentlichen ein Speicherpunkt für die dateibasierte Datenspeicherung
  2. Es sollte für das Web nicht sichtbar sein und ist ein Ort, an dem die Web-App Daten speichern und lesen kann

Könnte jemand angeben, wie sichergestellt wird, dass „im Web nicht sichtbar“ 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 für die Verwendung, oder sollte ich einen separaten Ordner erstellen und IIS manuell festlegen, um sicherzustellen, dass er nicht über das Web zugänglich ist?

War es hilfreich?

Lösung

App_Data ist im Wesentlichen ein Speicherpunkt für dateibasierte Datenspeicher (im Gegensatz zu einem SQL Server-Datenbankspeicher zum Beispiel im Gegensatz). Einige einfachen Websites Gebrauch davon für Inhalte gespeichert als XML zum Beispiel machen, in der Regel, wo Hosting-Gebühren für einen DB sind teuer.

Andere Tipps

in IIS, markieren Sie das Gerät, doppelklicken Sie auf "Request Filtering", öffnen Sie das "Hidden Segment" Registerkarte. „App_Data“ aufgeführt wird dort als beschränkt Ordner. Ja ich weiß, dass dieser Thread wirklich alt ist, aber das ist immer noch anwendbar.

Die beabsichtigte Verwendung von App_data ist Anwendungsdaten für den Web-Prozess zu speichern, um acess. Es soll nicht von der Bahn zu sehen sein und ist ein Ort für den Web-App zu speichern und lesen Daten aus.

Es ist ein Ort, eine eingebettete Datenbank zu setzen, wie SQL Server Express, Access oder SQLite.

Der App_Data Ordner ist ein Ordner, der Ihr asp.net Worker-Prozess zu Dateien Sytem Rechte hat, aber nicht über den Web-Server veröffentlicht.

Zum Beispiel wir es verwenden, um eine lokale CSV eines aktualisieren Kontakt Form. Wenn die bevorzugte Methode der E-Mails fehlschlägt oder eine Abfrage der Datenquelle erforderlich ist, sind die App_Data Dateien gibt.

Es ist nicht ideal, aber es ist es ein guter Rückfall.

Aus der Dokumentation über ASP.NET-Webprojekt-Ordnerstruktur im MSDN:

Sie können die Dateien Ihres Webprojekts in jeder Ordnerstruktur aufbewahren, die für Ihre Anwendung geeignet ist.Um die Arbeit mit Ihrer Anwendung zu erleichtern, behält sich ASP.NET bestimmte Datei- und Ordnernamen reserviert, die Sie für bestimmte Inhaltstypen verwenden können.

Anwendungsdaten Enthält Anwendungsdatendateien, einschließlich MDF-Datenbankdateien, XML-Dateien und anderen Datenspeicherdateien.Der app_data -Ordner wird von ASP.NET verwendet, um die lokale Datenbank einer Anwendung zu speichern, z. B. die Datenbank für die Wartung von Mitgliedschafts- und Rolleninformationen.Weitere Informationen finden Sie unter Einführung in die Mitgliedschaft Und Rollenmanagement verstehen.

Das Hauptziel ist für die Aufbewahrung in Ihrer Anwendung Datenbankdatei (en).

Und nein, das wird nicht aus dem Internet standardmäßig zugänglich sein.

Wir verwenden es als temporärer Speicherbereich für hochgeladene CSV-Dateien. Nach dem Hochladen eines Ajax-Methode Prozessen und löscht die Datei.

Die beabsichtigte Verwendung für App_Data ist datenbankbezogene Datei zu speichern. Normalerweise SQL Server Express MDF-Dateien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top