gpt4 book ai didi

c# - 升级到 .NET 4.5 和 EF5。不再能够部署 WCF 服务。

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:53 25 4
gpt4 key购买 nike

我们有一个 wcf 服务,它作为一个应用程序在我们网络服务器的一个单独的应用程序池中的一个子文件夹中运行。我们在 12 月升级到 .NET 4.5,在 1 月升级到 EF5。我们昨天进行了标准的 Web 部署,但没有触及此代码,WCF 服务停止工作。

我们可以将旧代码移动到不同的生产服务器并且它可以工作。在生产站点上使用旧代码时,我们会收到一个代码生成的错误,表明与数据库的连接问题(无法登录)。

我们尝试使用升级后的 4.5 和 EF5 部署 WCF,但出现运行时错误:“'System.Data.Entity.Internal.AppConfig' 的类型初始值设定项引发异常。”我们已经为 EF5 完成了指示的所有配置更改,例如 defaultConnectionFactory。这样做时,WCF 会在调用任何服务方法时开始向服务终结点提供 301 重定向。我们很困惑为什么正常的 Web 部署会导致这些问题,以及为什么我们不能部署升级的 EF 版本来让我们摆脱这个漏洞。

这是我们的业务合作伙伴使用的实时且非常活跃的服务。

最佳答案

已解决。事件日志什么也没说。它看起来是 IIS 和接口(interface)之间的绑定(bind)问题。原来是冲突的 web.config 阻止 IIS 加载 web.config 完全/导致重复条目。导致中断的唯一配置项是 EntityFramework 连接字符串。我们在 .NET 4.5 上运行 EF5.0。这是有问题的连接字符串:

根 Web.Config 中的字符串:

<add name="MyConfigurationEntities" connectionString="metadata=res://*/MyConfigurationModel.csdl|res://*/MyConfigurationModel.ssdl|res://*/MyConfigurationModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=SERVER1;Initial Catalog=MyConfiguration;User ID=sa;Password=XXXX;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Web 服务 Web.Config 中的字符串:

<add name="MyConfigurationEntities" connectionString="metadata=res://*/MyConfigurationModel.csdl|res://*/MyConfigurationModel.ssdl|res://*/MyConfigurationModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=Server1;Initial Catalog=MyConfiguration;User ID=sa;Password=XXXX;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

我们的文件夹结构是:

/web.config

/webservices/webservice/web.config

关于c# - 升级到 .NET 4.5 和 EF5。不再能够部署 WCF 服务。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21890243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com