我有一个在远程网络托管服务器上调用的应用程序。它会调用客户详细信息并修改记录以响应销售通知。以前用得好好的,但最近不行了。
例外情况是:
System.ArgumentException:在配置中找不到指定的命名连接,不适合与 EntityClient 提供程序一起使用,或者无效。
在 System.Data.EntityClient.EntityConnection.ChangeConnectionString(字符串 newConnectionString)
在 System.Data.Objects.ObjectContext.CreateEntityConnection(字符串连接字符串)
位于 C:\Users\Mike\source 中的 GSnet.Models.GreenhillSoftwareEntities..ctor() epos\GSnetA\Models\GsEntityModel1.Designer.cs:第 50 行
在 C:\Users\Mike\source 中的 GSnet.GSData.ProcessPurchase(交易 payPalTransaction) epos\GSnetA\GSData.cs:第 58 行
我已经仔细检查了连接字符串,没有发现任何问题。下面用 XXX 替换敏感数据。
<add name="xxxxSoftwareEntities"
connectionString="metadata=res://*/Models.GsEntityModel.csdl|res://*/Models.GsEntityModel.ssdl|res://*/Models.GsEntityModel.msl;provider=System.Data.SqlClient;provider connection string="data source=xxxxx.net;initial catalog=xxxxx_db;user id=greenhi1;password=xxxxx;multipleactiveresultsets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
如果我在我的开发机器上运行它来调试,它会非常愉快地调用远程数据库,但是当远程托管服务器上有相同的代码和相同的连接字符串时,它会在第一次调用任何数据时失败。
我绞尽脑汁去记住任何重大变化,查阅我的 GIT 历史记录等。但我被难住了。
有人可以指点我吗?
我尝试将代码和连接字符串/
web.config
重新复制到服务器并添加一些日志记录,以便我知道正在运行哪个版本的代码。还是失败了。
感谢您的退款。在回答问题时 这是我的开发机器上的一个解决方案。我将 .dll、.pdb、EntityFramework.SqlServer.dll 和 EntityFramework.dll 复制到托管服务器的 bin 文件夹中。 EntityFramework 在本地和远程上都是 6.400.420.21404。 我没有使用 System.Data.SqlClient 而是 System.Data.EntityClient