Blazor CRUD Sample: HTTP Error 500 per la richiesta sul server IIS

asp.net-core blazor c# iis

Domanda

Ho appena pubblicato il mio esempio Blazor CRUD sul server locale. Il sito sta funzionando bene, ma ricevo l'errore HTTP 500 quando vado alla pagina dei dati di recupero. Tutto funziona bene quando eseguo Visual Studio, ma server IIS. Ho la stringa di connessione nel file di contesto. Ho anche modificato la stringa di connessione nella pagina delle impostazioni del pool di applicazioni, ma ancora non funziona.

Questo è il pezzo di codice che sto usando nel file di contesto:

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

Io uso anche questa stringa di connessione per IIS: inserisci la descrizione dell'immagine qui

Risposta accettata

La risposta è che qui ci sono due diverse istanze LocalDB. A differenza delle istanze di SQL Server Express, che sono in esecuzione come servizi Windows, le istanze LocalDB vengono eseguite come processi utente. Quando diversi utenti Windows si connettono a LocalDB, si troveranno alla fine con diversi processi LocalDB avviati per ciascuno di essi. Quando ci connettiamo a (localdb) \ v11.0 da Visual Studio, un'istanza LocalDB viene avviata per noi e viene eseguita come account Windows. Ma quando un'applicazione Web, in esecuzione in IIS come ApplicationPoolIdentity, si connette a LocalDB, viene avviata un'altra istanza di LocalDB per essa ed è in esecuzione come ApplicationPoolIdentity! In effetti, anche se Visual Studio e Web Application utilizzano la stessa stringa di connessione LocalDB, si connettono a diverse istanze LocalDB. Ovviamente il database creato da Visual Studio sulla nostra istanza LocalDB non sarà disponibile nell'istanza LocalDB dell'applicazione Web.

La correzione facile utilizza SQL Server Express anziché LocalDB

Maggiori dettagli - https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-2-stance-ownership/




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché