Web服务配置问题

时间:2011-04-27 16:06:55

标签: .net wcf web-services

我从应用程序目录托管2个WCF Web服务和1个标准.NET Web服务。 .NET服务和1个WCF服务完美运行;但是,其他WCF服务返回以下错误:

  

无法激活该服务,因为它不支持ASP.NET兼容性。为此应用程序启用了ASP.NET兼容性。在web.config中关闭ASP.NET兼容模式,或者将AspNetCompatibilityRequirements属性添加到服务类型,并将RequirementsMode设置为'允许'或者'必需'。

两个WCF Web服务都有行

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _

并且web.config文件有

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

当我改变

时,为混音添加更多​​混乱
AspNetCompatibilityRequirementsMode.Allowed

AspNetCompatibilityRequirementsMode.Required

服务工作正常。

另外,改变

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

<serviceHostingEnvironment aspNetCompatibilityEnabled="false" />
web.config中的

也允许所有Web服务运行。

此问题出现在运行IIS6的SBS2003上托管的IIS7和我们的登台环境中。

提前感谢您的所有帮助。
杰克

更新
通过删除我的开发系统上的应用程序,我能够使它工作;但是,即使在删除应用程序并在那里重新创建应用程序之后,问题仍然存在于我们的登台服务器上。

周围的工作:

  1. 从IIS中删除应用程序
  2. 重新创建目标
  3. 创建新的应用程序池
  4. 在direcotry的属性中,创建Application并将其关联到新的Application Pool。
  5. 多么痛苦。

2 个答案:

答案 0 :(得分:3)

您无法在单个应用程序池下托管2个不同的框架版服务。我的意思是,如果您在单个应用程序池下托管了2个WebService(一个使用Framework 2.0,另一个使用框架4.0),那么任何一个服务都可以工作。第二个永远不会工作

解决方案:

    创建2个不同的应用程序池。 App1(目标框架2.0)和App2(目标框架4.0)
    将App1池分配给在Framework 2.0中开发的服务。
    将App2池分配给在Framework 4.0中开发的服务。
    重新启动IIS

现在应该可以了。

答案 1 :(得分:0)

周围的工作:

  • 从IIS中删除应用程序
  • 重新创建目标
  • 创建新的应用程序池
  • 在direcotry的属性中,创建应用程序和 将其关联到新的应用程序池。