新的MVC5应用程序。我正在使用 configSource 来处理我的连接字符串,如下所示:
<connectionStrings configSource="ConfigSectionsdb.config"></connectionStrings>
使用如下所示的 db.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
<add name="ApplicationServices" connectionString="Data Source=OurServer;Initial Catalog=OurDb;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
这在我们的 DEV 服务器上工作正常,但在 PROD 上失败,如下所示:
[Win32Exception (0x80004005): The system cannot find the file specified]
[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server...
。我相信,SQL错误是 ASP.NET 身份试图创建新的本地数据库并失败。
我会假设我做了一些愚蠢的事情,比如指向错误的名字,但是 a)我已经尽我所能检查了这一点,dev 和 prod 的设置方式相同,b) 这个线程底部的MSDN_ice描述了非常相似的东西。
有谁知道这里发生了什么?它不仅仅是生产服务器,因为我们有一个MVC3应用程序,它运行在同一个网站上,使用configSource就可以了。看起来像MVC5 + ???.的组合
(如果需要,我会切换到 Web.Config.Debug/Release 方法,但如果可以解决这个问题,我宁愿不这样做。
这确实是愚蠢的事情。我在 db.config 中的连接名称错误。我的应用程序的旧版本使用名为应用程序服务的 conn 字符串。当前版本使用一个名为 DefaultConnection 的版本。不知何故,我已经更新了 DEV,但没有更新 PROD(叹气)。