我有一个使用 EF 从 SQL 数据库中检索数据的服务。

EF 模型位于类库中。在类库中,连接配置为:

      <add name="APIC2CEntities"
     connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MYSERVER;initial catalog=MYDB;user id=MYUSER;password=THEPASSWORD;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient" />

此类库由 WCF 服务项目引用。在 webconfig 中,我通过以下方式控制 EF 连接:
      <add name="APIC2CEntities"
     connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MYSERVER;initial catalog=MYDB;user id=MYUSER;password=THEPASSWORD;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient" />

当我的服务在 Cassini 中运行时,数据被正确检索。当服务在 IIS (Windows XP) 下运行时,连接失败并出现以下异常:



有一个内在的异常(exception)告诉我:



我知道 Cassini 在我登录的帐户下运行,而 IIS 在 IUSR_MYMACHINE 帐户下运行,但我的连接不受信任,所以这无关紧要...

在 IIS 和 Cassini 之间如何以不同的方式操纵或控制 EF 连接?

谢谢,
标记

最佳答案

我们这次的解决方案是强制连接使用 tcp(在连接字符串中使用 data source=tcp:MyServer)并在 SQL 框上启用 TCP(哎呀!)。

我仍然不知道 Cassini session 如何能够在没有 IIS session 的情况下建立连接:-S

标记

10-06 07:54