实体框架未响应WCF Web服务

时间:2016-07-08 16:11:05

标签: c# .net entity-framework web-services wcf

我创建了一个WCF Web服务,在这个Web服务中我使用了EF 6(也试过了5个)。 该项目编译并在不同的服务器上运行(也是2012R2)。

在我的应用程序中,我将webservice设置为创建异步方法。

使用webservice时,我收到与配置文件相关的错误(我还没有更改此配置文件中的任何内容),但稍后我会转到配置文件。

当我设置一个示例程序并且只调用" HelloWorld"时,我得到你好。

因此,webservice本身就起作用了。

在服务器上,我创建了一个使用相同版本EF的测试程序。有用。所以没问题。

但是当我尝试将我的webservice与使用EF的方法一起使用时,并没有发生任何事情。 e.result是string.empty,也没有返回错误。

web.config文件中的错误如何?当我使用原始配置文件发布webservice时。尝试直接从服务器的浏览器打开Web服务时出现以下错误:

  

错误500.19配置来源:       4:有关实体框架配置的更多信息,请访问http://go.microsoft.com/fwlink/?LinkID=237468       5:
  <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections>

它显然抱怨名称section entityFramework。

当我将entityFramework更改为EntityFramework(使用大写E)时,我可以直接从我的服务器的浏览器打开webservice。现在我也可以在我的程序中实现它。

如上所述,HelloWorld工作正常,但在尝试通过此Web服务使用EntiTyFramework时仍然存在问题。

我在这台服务器上忘了一些设置吗?正如我在不同的服务器(使用原始配置文件)上测试它时所提到的那样?

我还在此服务器上设置了VS2015,甚至在此服务器上创建了新项目。它没有任何区别。

我希望有人可以告诉我该怎么做?

1 个答案:

答案 0 :(得分:0)

我找到了实际问题并为我找到了解决方案。

在我安装此Web服务的服务器上,我将其安装在网站内的目录中,该网站本身也使用实体框架。

IIS从此webserice读取web.config,但在内部它从根目录添加到web.config(因此来自网站的web.config)。

IIS中用于网站的配置编辑器抱怨名为entityFramwork的第二个条目(只有当你将这些web.configs组合起来时才会得到这个。因为每个web.config只有一个条目:entityFramework)。 / p>

由于我在此服务器上有多个网站,因此我只是在不使用Entity Framwork的网站上安装了Web服务。 Eh Voila,我的问题已经结束了。

我希望其他人可以从中受益,我花了很多时间来解决这个问题。