it-swarm.com.de

So stellen Sie die ASP.NET MVC 4-Anwendung mit localDB auf local bereit IIS unter Windows 7?

Wenn ich versuche, meine ASP.NET MVC 4-Anwendung unter Verwendung von Local IIS unter Windows 7 mit Visual Studio 2013 auszuführen. Ich erhalte den folgenden Fehler, wenn die Anwendung versucht, eine Verbindung zu localDB\v11.0 herzustellen

Serverfehler in '/' Anwendung.

Bei .__ trat ein netzwerkbedingter oder instanzspezifischer Fehler auf. Herstellen einer Verbindung zu SQL Server. Der Server war nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server für Remoteverbindungen konfiguriert ist . (Anbieter: SQL-Netzwerkschnittstellen, Fehler: 50 - Lokale Datenbanklaufzeit Es ist ein Fehler aufgetreten. Es kann keine automatische Instanz erstellt werden. Fehlerdetails finden Sie im Windows Anwendungsereignisprotokoll.)

Die 2 Ereignisprotokolle sind

Beim Versuch, auf die LocalDB-Instanz zuzugreifen, ist ein unerwarteter Fehler aufgetreten. Registry-Konfiguration. Siehe das Windows-Anwendungsereignisprotokoll für Fehlerdetails.

und

Es kann kein lokaler Anwendungsdatenpfad abgerufen werden. Höchstwahrscheinlich ein Benutzerprofil wird nicht geladen Wenn LocalDB unter IIS ausgeführt wird, stellen Sie sicher, dass Das Laden von Profilen ist für den aktuellen Benutzer aktiviert.

Die meisten Lösungen, die ich online gefunden habe, beziehen sich auf diesen Beitrag: http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/ using-localdb-with-full-iis-part-1-user-profile .aspx

Der einzige Unterschied, den ich zwischen der beschriebenen Situation und meiner Situation sehe, ist, dass der beschriebene Fehlercode 0 ist, während mein Fehlercode 50 ist. Die vorgeschlagene Lösung funktioniert jedoch nicht für mich.

Ich kann diesen Fehler nicht überwinden, auch wenn ich setProfileEnvironment auf true gesetzt habe und stundenlang mit verschiedenen processModel-Parametern und Anwendungspools herumgespielt habe.

17
allenylzhou

Ich hatte auch das gleiche Problem, aber es gibt eine Lösung dafür.

Wechseln Sie zum Server IIS und dann zum Anwendungspool, von dem aus Ihre Anwendung ausgeführt wird. In den erweiterten Einstellungen des Anwendungspools gibt es die Option "Prozessmodell", unter der sich die Option "Identität" befindet. Dies ist standardmäßig die Anwendungspoolidentität. Ändern Sie das lokale System, und Sie sind fertig.

Und denken Sie daran, den App_Data-Ordner im WWW-Ordner des IIS -Servers abzulegen

45
Neeraj Mehta

Probier das aus, das löst dein Problem:

Bearbeiten Sie die Datei applicationHost.config in% windir%\system32\inetsrv\config \, insbesondere im Abschnitt ApplicationPools.

Ändern Sie den IdentityType in NetworkService, um die neu erstellte Datenbank zu verwenden.

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

Stellen Sie sicher, dass der Anwendungspool eine Identität verwendet, die Zugriff auf die gewünschte Instanz der LocalDB hat. 

Deaktivieren Sie anschließend ASP.NET-Identitätswechsel in den Authentifizierungseinstellungen der Anwendung. Andernfalls verwendet die Anwendung das Konto IUSR_MachineName, um auf die Datenbank zuzugreifen. 

Dieses Setup ist möglicherweise nicht für die Produktionsumgebung geeignet, reicht jedoch für die Datenbank- und Anwendungsentwicklung aus. 

2

Bei der Verwendung von MVC 5.2.3.0 hatte ich ein ähnliches Problem ... dies wurde meiner web.config hinzugefügt.

<!-- 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/de-de/dotnet/framework/wcf/feature-details/how-to-use-the-aspnet-membership-provider

0
Pinch

Vielleicht hilft das jemandem. Ich hatte das gleiche Problem bei der Installation einer leeren Version von Epise3rver 7.5+, aber es war klar, dass es keine Einstellungen oder Konfigurationen gab, da meine Kollegen dieses Problem nicht hatten. Ich beendete die Deinstallation aller MSSQL-bezogenen Anwendungen und installierte MsSQL Express 2014 erneut. Und es hat funktioniert! Ich habe vorher versucht, 2014 zu installieren, aber es hat nichts geändert. Wie gesagt, habe ich alles deinstalliert, was MsSQL betrifft, bevor 2014 erneut installiert wurde. Ich hoffe es hilft.

0
Lautaro