[英]Issue when deploying an ASP.NET MVC + LocalDB application
我已经在服务器上部署了ASP.NET MVC 5应用程序,但是使用localdb的每个页面都崩溃了。
但是我复制了.mdf
文件所在的App_Data
文件夹。 我什至在计算机上安装了SQL Server 2012 Express。
但是,每次我得到相同的错误。
不可思议的特殊性
说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。异常详细信息:System.ComponentModel.Win32Exception:可以解释的
源错误:
当前Web请求的执行期间生成了未处理的异常。 可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。
堆栈跟踪:
[Win32Exception(0x80004005):可以解释的事实]
[SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:52-无法找到本地数据库运行时安装。验证是否正确安装了SQL Server Express并启用了本地数据库运行时功能。)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,Boolean breakConnection,Action`1 wrapCloseInAction)+5352431
抱歉,尽管我将用户界面设置为英语,但其中一部分还是法语的。
web.config
文件如下所示:
<connectionStrings>
<add name="ConnectionString"
connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=C:\inetpub\wwwroot\MygLogWeb\App_Data\Database.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
之前是这样的:
<add name="ConnectionString"
connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"/>
这是因为LocalDb不适用于生产。
请参阅文章: 为ASP.NET MVC应用程序创建实体框架数据模型
具体来说,来自文章的文本:“通常,SQL Server Express不用于生产Web应用程序。特别不建议将LocalDB与Web应用程序一起用于生产环境,因为它不适用于IIS。”
因此,更改您的connectionString值以使用真实的sql server数据库,您应该一切顺利!
我遇到了同样的问题,并且在这里( 在生产环境中使用LocalDb正常吗? )找到了解决方案。 @Krzysztof Kozielczyk @提供了2篇文章: 第一篇和第二篇 。 从头开始的技巧足以解决我的问题。
其实我只是添加到C:\\ Windows \\ System32 \\ inetsrv \\ config \\ applicationHost.config
<add name="ASP.NET v4.0" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
</add>
顺便说一句,我的连接字符串看起来像您的第二个字符串(带有“ | DataDirectory | \\ Database.mdf”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.