it-swarm-eu.dev

Come distribuire l'applicazione ASP.NET MVC 4 utilizzando localDB su local IIS su Windows 7?

Quando provo a eseguire la mia applicazione ASP.NET MVC 4 utilizzando Local IIS su Windows 7 con Visual Studio 2013. Eseguo il seguente errore quando l'applicazione tenta di connettersi a localDB\v11.0

Errore del server nell'applicazione '/'.

Si è verificato un errore relativo alla rete o specifico dell'istanza durante il stabilire una connessione a SQL Server. Il server non era trovato o non accessibile. Verifica che il nome dell'istanza sia corretto e che SQL Server è configurato per consentire connessioni remote . (provider: Interfacce di rete SQL, errore: 50 - Errore di Database locale Si è verificato un errore Impossibile creare un'istanza automatica Vedere il registro eventi di Windows Application per i dettagli dell'errore.)

I 2 registri eventi sono

Si è verificato un errore imprevisto durante il tentativo di accesso all'istanza LocalDB configurazione del registro. Vedere il registro eventi dell'applicazione Windows per dettagli circa l'errore.

e

Impossibile ottenere un percorso dati dell'applicazione locale. Molto probabilmente un profilo utente non è caricato Se LocalDB viene eseguito in IIS, assicurati che il caricamento del profilo è abilitato per l'utente corrente.

La maggior parte delle soluzioni ho trovato riferimenti online a questo post: http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user-profile .aspx

L'unica differenza che vedo tra la situazione descritta e la mia situazione è che il codice di errore descritto è 0 mentre il mio codice di errore è 50. Tuttavia, la soluzione proposta non funziona per me.

Non riesco a superare questo errore anche se imposto la modifica di setProfileEnvironment su true e ho passato ore a giocare con i diversi parametri processModel e pool di applicazioni.

17
allenylzhou

Soffrivo anche dello stesso problema, ma c'è una soluzione per questo.

Passare al server IIS e quindi al pool di applicazioni da cui è in esecuzione l'applicazione. Nelle impostazioni avanzate del pool di applicazioni esiste un'opzione "Modello di processo", in base alla quale è presente un'opzione "Identità". Questa è per impostazione predefinita l'identità del pool di applicazioni. Passalo al sistema locale e il gioco è fatto.

E ricorda di mettere la cartella App_Data nella cartella WWW del server IIS

45
Neeraj Mehta

Prova questo, questo risolverà il tuo problema:

Modifica il file applicationHost.config trovato in% windir%\system32\inetsrv\config\in particolare nella sezione ApplicationPools.

Cambia IdentityType in NetworkService per utilizzare il database appena creato.

<add name="ASP.NET v4.0" managedRuntimeVersion="v4.0">
   <processModel identityType="NetworkService" loadUserProfile="true" setProfileEnvironment="true" />
</add>
6
user3477321

Assicurarsi che il pool di applicazioni utilizzi un'identità che abbia accesso all'istanza desiderata del LocalDB. 

Quindi disabilitare la rappresentazione di ASP.NET nelle impostazioni di autenticazione dell'applicazione. In caso contrario, l'applicazione utilizza l'account IUSR_MachineName per accedere al database. 

Questa configurazione potrebbe non essere adatta all'ambiente di produzione, ma potrebbe essere sufficiente per lo sviluppo di database e applicazioni. 

2

Usando MVC 5.2.3.0 ho avuto un problema simile ... ho aggiunto questo al mio web.config.

<!-- Configure the Sql Membership Provider -->  
<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15">  
  <providers>  
    <clear />  
      <add   
        name="SqlMembershipProvider"   
        type="System.Web.Security.SqlMembershipProvider"   
        connectionStringName="SqlConn"  
        applicationName="MembershipAndRoleProviderSample"  
        enablePasswordRetrieval="false"  
        enablePasswordReset="false"  
        requiresQuestionAndAnswer="false"  
        requiresUniqueEmail="true"  
        passwordFormat="Hashed" />  
  </providers>  
</membership>  

https://docs.Microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-use-the-aspnet-membership-provider

0
Pinch

Forse questo aiuterà qualcuno. Ho avuto lo stesso problema nell'installare una versione di Epise3rver 7.5+ vuota ma era chiaro che non aveva a che fare con le impostazioni o le configurazioni poiché i miei colleghi non avevano questo problema. Ho terminato di disinstallare tutte le applicazioni relative a MSSQL e ho reinstallato MsSQL Express 2014. E ha funzionato! Ho provato prima di installare 2014 ma non ha cambiato nulla, così come ho detto ho quindi disinstallato tutto ciò che riguarda MsSQL prima di installare nuovamente il 2014. Spero che sia d'aiuto.

0
Lautaro