在IIS上部署时的数据库连接问题

时间:2011-05-18 07:07:25

标签: c# sql-server entity-framework iis

我已经配置了2个连接字符串:

  <connectionStrings>
    <add name="ApplicationServices" connectionString="Data Source=.\SQLInstance;Initial Catalog=App;Integrated Security=True" providerName="System.Data.SqlClient"/>
    <add name="AppEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLInstance;Initial Catalog=App;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
</connectionStrings>

从VS.But启动时,项目运行良好,在尝试获取实体时,我得到“不支持数据源关键字”。成员资格(因此ApplicationServices连接)有效。

有人可以帮我解决这个问题吗?

编辑:如果我们使用应用程序或网站,问题是相同的

2 个答案:

答案 0 :(得分:2)

我终于找到了解决方案。 不从IIS配置中读取连接字符串,而是从web.config中读取。

在创建部署包时,VS会对web.config做一些魔术,因为它从web.release.config读取。 在检查生成的配置文件时,我注意到“已被&amp; quot;替换。”

因此生成的连接字符串无效,我们应该手动替换&amp;通过&amp;。

无论如何,谢谢你的帮助

答案 1 :(得分:1)

您必须在服务器上安装.NET framework 3.5 / 4.0,然后将您的Web应用程序设置为使用它,然后IIS应该能够识别实体框架连接字符串

修改:enter image description here