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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (57)

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

'/'应用程序中的服务器错误。 建立到SQL Server的连接时发生网络相关或实例特定的错误。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。请参阅Windows应用程序事件日志以获取错误详细信息。) 2个事件日志是 尝试访问LocalDB实例注册表配置时发生意外的错误。请参阅Windows应用程序事件日志以获取错误详细信 和 无法获取本地应用程序数据路径。很可能用户配置文件未加载。如果LocalDB在IIS下执行,请确保为当前用户启用配置文件加载。

我在网上找到的大多数解决方案都参考了这篇文章: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参数和应用程序池。

提问于
用户回答回答于

我也遭受同样的问题,但有一个解决方案。

转到IIS服务器,然后转到运行应用程序的应用程序池。在应用程序池的高级设置中,有一个“Process Model”选项,在该选项下有一个“Identity”选项。这是默认情况下的应用程序池标识。将其更改为本地系统,即可完成。

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

用户回答回答于

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

编辑在%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>

扫码关注云+社区

领取腾讯云代金券