Blazor CRUD-Beispiel: HTTP-Fehler 500 für die Anforderung auf dem IIS-Server

asp.net-core blazor c# iis

Frage

Ich habe gerade mein Blazor CRUD-Beispiel auf dem lokalen Server veröffentlicht. Die Website funktioniert gut, aber ich bekomme HTTP Error 500, wenn ich auf die Datenabrufseite gehe. Alles funktioniert gut, wenn ich auf dem Visual Studio, aber IIS-Server laufen. Ich habe die Verbindungszeichenfolge in der Kontextdatei. Ich habe auch die Verbindungszeichenfolge auf der Anwendungspool-Einstellungsseite bearbeitet, aber immer noch nicht funktioniert.

Dies ist der Codestück, den ich in der Kontextdatei verwende:

        optionsBuilder.UseSqlServer(@"Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=master;Trusted_Connection=True;");

Ich verwende diese Verbindungszeichenfolge auch für den IIS: Bildbeschreibung hier eingeben

Akzeptierte Antwort

Die Antwort ist, dass es hier zwei verschiedene LocalDB-Instanzen gibt. Im Gegensatz zu SQL Server Express-Instanzen, die als Windows-Dienste ausgeführt werden, werden LocalDB-Instanzen als Benutzerprozesse ausgeführt. Wenn verschiedene Windows-Benutzer eine Verbindung zu LocalDB herstellen, werden für jede von ihnen verschiedene LocalDB-Prozesse gestartet. Wenn wir eine Verbindung zu (localdb) \ v11.0 aus Visual Studio herstellen, wird eine LocalDB-Instanz für uns gestartet und als Windows-Konto ausgeführt. Wenn jedoch eine Webanwendung, die in IIS als ApplicationPoolIdentity ausgeführt wird, eine Verbindung mit LocalDB herstellt, wird für sie eine andere LocalDB-Instanz gestartet, die als ApplicationPoolIdentity ausgeführt wird. Obwohl Visual Studio und Web Application dieselbe LocalDB-Verbindungszeichenfolge verwenden, stellen sie tatsächlich eine Verbindung zu verschiedenen LocalDB-Instanzen her. Offensichtlich ist die aus Visual Studio in unserer LocalDB-Instanz erstellte Datenbank in der LocalDB-Instanz der Webanwendung nicht verfügbar.

Easy Fix verwendet SQL Server Express anstelle von LocalDB

Weitere Informationen - https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-2-instance-ownership/



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow