【问题标题】:Exception : The provider did not return a ProviderManifestToken string-Entityframework异常:提供者未返回 ProviderManifestToken 字符串实体框架
【发布时间】:2013-04-29 12:47:26
【问题描述】:

我已经编写了一个方法,使用下面的实体框架将一些数据插入到数据库中,该框架称为 wcf 服务

  bool status=false;
           MyDataContext dc = new MyDataContext();
           var getData = dc.Register.FirstOrDefault(x => x.DeviceId == deviceId.Trim());
           if (getData != null)
           {
               status = true;
           }
           return status;

在本地成功插入。但是发布后我尝试再次插入。当时我遇到异常提供者没有返回 ProviderManifestToken 字符串我该如何解决这个错误?

连接字符串

<connectionStrings>
    <add name="DataContext" connectionString="Data Source=MYNAME\SQL2008R2; Initial Catalog=MyDb; Integrated Security=True; MultipleActiveResultSets=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

【问题讨论】:

标签: .net wcf entity-framework-4.1


【解决方案1】:

您的连接字符串使用 Integrated Security = true。

这意味着与数据库的连接是使用调用进程的安全上下文建立的。

当您在本地运行时,您处于用户的安全上下文中。因此,它有效。

当您部署到 IIS 时,默认是在应用程序池的安全上下文中,即 NETWORK SERVICE。由于 NETWORK SERVICE 无权访问数据库,因此您会收到错误消息。

【讨论】:

  • 这很好..现在我得到了答案。我将网络服务更改为本地系统
猜你喜欢
  • 2013-09-28
  • 2016-04-04
  • 2018-06-29
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 2012-08-08
  • 2013-11-03
  • 2019-05-25
相关资源
最近更新 更多