在Windows Web Server 2008 R2上运行WCF服务

时间:2012-01-20 09:58:45

标签: wcf

我有一个WCF服务应用程序,其中大多数基本设置在我的本地计算机上正常运行。当我在测试应用程序服务器上部署它时,我有以下错误;

模块IIS Web核心 通知未知 处理程序尚未确定 错误代码0x80070032 配置错误配置部分'system.serviceModel'无法读取,因为它缺少部分声明

当我尝试部署测试数据库服务器时,它运行正常。

在所有搜索之后,我最终在我的测试应用程序服务器上遇到的问题是它没有应用程序服务器角色。

似乎Window Web Server 2008 R2操作系统上没有应用程序服务器角色。

那么无论如何/解决方法是让我的服务在Window Web Server 2008 R2上运行吗?

感谢。


编辑:我有两台测试机器。一个用于数据库(Windows Server 2008 R2 Standard),一个用于应用程序(Windows Web Server 2008 R2)

我的web.config文件内容如下;

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

</configuration>

2 个答案:

答案 0 :(得分:1)

如错误所示,web.config中缺少一个部分。

测试机运行的操作系统是什么?

如果您在IIS中托管服务并从测试计算机复制了web.config,则可能需要添加System.WebServer部分(这是IIS 7的要求)。

如果这没有帮助,请发布您的web.config。事件查看器中可能还有更详细的信息。

答案 1 :(得分:0)

抱歉,但我必须回答我自己的问题。

简短而简单;如果您使用WCF,请不要使用Windows Web Server 2008 R2。您将需要应用程序服务器角色,而Web Server 2008 R2没有应用程序服务器角色。您可以在网上找到有关此问题的更多详细信息。(WCF Service Issue on Windows Server 2008 R2