【问题标题】:Entity FrameWork not responding from a WCF webservice实体框架未从 WCF Web 服务响应
【发布时间】:2016-07-08 16:11:04
【问题描述】:

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

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

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

当我设置一个示例程序并且只调用“HelloWorld”时,我得到了 Hello。

所以网络服务本身就起作用了。

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

但是当我尝试通过使用 EF 的方法使用我的 web 服务时,根本没有任何反应。 e.result为string.empty,也不返回错误。

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

错误 500.19 配置源: 4:更多Entity Framework配置信息,请访问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>

它明显抱怨实体框架的名称部分。

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

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

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

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

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

【问题讨论】:

  • 我的 WCF Service 遇到了类似的错误。它给了HTTP 500.19。在敲了一天的头之后,我发现这是由于托管服务的服务器中的Folder Permissions。它授予IIS_IUSRS 组(所有应用程序池标识)和IUSR 用户对文件夹的读取权限

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


【解决方案1】:

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

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

IIS 从这个 webserice 读取 web.config,但在内部它从根目录将它添加到 web.config(所以是网站的 web.config)。

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

由于我在这台服务器上有多个网站,我只是在一个不使用实体框架的网站上安装了 web 服务。哎呀,我的问题已经解决了。

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

【讨论】:

    猜你喜欢
    • 2019-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    相关资源
    最近更新 更多