如何使用localDB将ASP.NET MVC 4应用程序部署到Windows 7上的本地IIS?

all*_*hou 17 .net asp.net iis windows-7 localdb

当我尝试使用Visual Studio 2013在Windows 7上使用本地IIS运行我的ASP.NET MVC 4应用程序时.当应用程序尝试连接到localDB\v11.0时,我遇到以下错误

'/'应用程序中的服务器错误.

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.有关错误详细信息,请参阅Windows应用程序事件日志.)

2个事件日志是

尝试访问LocalDB实例注册表配置时发生意外错误.有关错误详细信息,请参阅Windows应用程序事件日

无法获取本地应用程序数据路径.很可能没有加载用户配置文件.如果在IIS下执行LocalDB,请确保为当前用户启用了配置文件加载.

我在网上找到的大多数解决方案都参考了这篇文章:http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user-profile.aspx

我在描述的情况和我的情况之间看到的唯一区别是所描述的错误代码是0而我的错误代码是50.但是,建议的解决方案对我不起作用.

即使我将修改setProfileEnvironment设置为true并且我花了数小时的时间来使用不同的processModel参数和应用程序池,我也无法通过此错误.

Nee*_*hta 46

我也遇到了同样的问题,但有一个解决方案.

转到IIS服务器,然后转到运行应用程序的应用程序池.在应用程序池的高级设置中,有一个"过程模型"选项,在该选项下有一个"标识"选项.默认情况下,这是应用程序池标识.将其更改为本地系统,您就完成了.

并记住将App_Data文件夹放在IIS服务器的WWW文件夹中


小智 7

试试这个,这将解决你的问题:

编辑%windir%\ system32\inetsrv\config \中的applicationHost.config文件,特别是ApplicationPools部分.

将IdentityType更改为NetworkService以使用新创建的数据库.

<add name="ASP.NET v4.0" managedRuntimeVersion="v4.0">
   <processModel identityType="NetworkService" loadUserProfile="true" setProfileEnvironment="true" />
</add>
Run Code Online (Sandbox Code Playgroud)