C# WCF和IIS的实体框架问题

C# WCF和IIS的实体框架问题,c#,sql,wcf,entity-framework,iis,C#,Sql,Wcf,Entity Framework,Iis,我有一个WCF服务、一个MS SQL数据库和VisualStudio2008开发环境,这些都在一台机器上。 操作系统是Windows Server 2008,上面有IIS 7。 IIS 7承载我的WCF服务,该服务正在使用Microsoft Entity Framework连接到数据库。目前,我正在使用Microsoft的WCF测试客户端程序测试WCF服务 问题是,当我在WCF方法中声明这样的实体时: NewTestDBEntities db = new NewTestDBEntities();

我有一个WCF服务、一个MS SQL数据库和VisualStudio2008开发环境,这些都在一台机器上。 操作系统是Windows Server 2008,上面有IIS 7。 IIS 7承载我的WCF服务,该服务正在使用Microsoft Entity Framework连接到数据库。目前,我正在使用Microsoft的WCF测试客户端程序测试WCF服务

问题是,当我在WCF方法中声明这样的实体时:

NewTestDBEntities db = new NewTestDBEntities();
如果我连接到IIS上承载的WCF服务,WCF服务客户端将显示错误

这是来自WCF服务客户端的错误消息:

未能调用该服务。可能原因:服务离线或无法访问;客户端配置与代理不匹配;现有代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理、恢复到默认配置或刷新服务来进行恢复

我知道这条线会抛出一个错误,因为如果我把这条线拿走,那么WCF调用就完成了

我还试图通过运行调试器(WCF服务客户端连接到ASP.NET开发服务器,而不是IIS)来测试WCF服务,这行代码

NewTestDBEntities db = new NewTestDBEntities();
运行没有错误。有人知道为什么会这样吗


非常感谢。

您的WCF服务托管在IIS中-但是您是否也将EF4所需的连接字符串复制到相关的
web.config


如果只是创建对象上下文(NewTestDBEntities)失败了,这通常是因为您的主机应用程序(此处为IIS)无法使用连接信息。

@peter:您是否愿意分享您是如何解决此问题的??其他人可能会从中受益,我有一个ASP.NET项目,它与我的WCF服务项目位于同一个解决方案中。ASP.NET项目基本上引用了WCF项目,因此我可以使用IIS。因此,将有两个.config文件。我在WCF服务项目的配置文件中有连接字符串,但在ASP.NET项目中没有配置文件。这就是我遇到的问题。因此,解决方案是将连接字符串复制到ASP.NET项目中的配置文件中。就这样!