2017-02-13 3 views
2

Ich habe eine ASP.NET Core Web Application mit einer SQlite-Datenbank. Das funktioniert perfekt, aber jetzt möchte ich es in azurblau hosten. Wo sollte ich meine * .db-Datei ablegen? Ich nehme an, der wwwroot-Ordner ist nicht der beste Ort, da er durchsucht werden kann!ASP.Net Core Sqlite in Azure

Dort war früher der Ordner App_Data. Wohin sollten diese Art von Dateien in ASP.NET Core gehen?

Danke für die Hinweise ...

Antwort

1

Also, was ich herausgefunden habe, ist, dass wenn Sie die folgende Einstellung:

"ConnectionStrings": { 
    "DefaultConnection": "Data Source=.\\DbName.db" 
} 

Die Datenbankdatei wird automatisch im Stammordner der Web Application auf Azure platziert werden und nicht, wie ich dachte in den wwwroot . So funktioniert das perfekt für mich und bringt den Vorteil, dass vor dem Erstellen der Datenbankdatei kein Verzeichnis vorhanden sein muss.

0

Der einfachste Weg, dies zu tun wäre, die Datenbank direkt in Ihrem Root-Verzeichnis zu laden. Das bedeutet das Verzeichnis, in dem Sie standardmäßig die Datei {WebsiteName.dill} oder WebApplication.dll haben. Für Azure wäre dies Ihr Verzeichnis D:\home\site\wwwroot (beachten Sie, dass dies nicht der Ordner wwwroot für statische Dateien in Ihrer Anwendung ist, sondern der Stammordner in azure auch wwwroot genannt wird). Dann würden Sie eine Verbindung zu dieser Datenbank mit einer Verbindungszeichenfolge in Ihrer appsettings.Production.json-Datei wie folgt herstellen.

"ConnectionStrings": { 
    "DefaultConnection": "Data Source=<DATABASE_NAME>.db" 
    } 

. Das sollte den Trick tun.

+0

Aber sollten sich Dateien nicht außerhalb von wwwroot befinden? Ich meine, das ist der Ort für statische Dateien, die gehostet werden. Also das ist irgendwie der falsche Ort IMO. – Matteo

+2

Ja, Sie können es vollständig außerhalb des Wwwroot-Ordners ablegen. Stellen Sie sicher, dass Sie ein geeignetes Verzeichnis für Ihre Verbindungszeichenfolgen verwenden. Ich sagte, es in den Ordner wwwroot zu legen, um Ihnen das einfachste Beispiel zu geben. –

+0

Danke für die Erklärung ... – Matteo

Verwandte Themen