【问题标题】:Hosting a WCF REST service on IIS 6 that also exposes a webHttpRelayBinding to service bus在 IIS 6 上托管 WCF REST 服务,该服务还将 webHttpRelayBinding 公开给服务总线
【发布时间】:2012-10-11 19:23:35
【问题描述】:

我有一个 WCF REST 服务,它通过 webHttpRelayBinding 和 Azure 服务总线在“本地”和云中公开。

这在我的 IIS 7.5 Express 实例上运行良好,但是当我将它部署到 Windows Server 2003 / IIS 6 环境时,我开始收到以下错误:

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

我了解到我需要完全删除对 ASP.NET 的所有依赖项才能解决此问题(请参阅here)。我已经重构了我的代码,以便包含服务定义的程序集没有对 System.Web 的任何引用,但我仍然收到错误。

所以我假设这意味着我根本无法在 IIS 中托管服务。如果是这种情况,我唯一的选择是让 Windows 服务进行托管吗? WAS 在 Win2k3 上不可用。

【问题讨论】:

    标签: asp.net wcf rest azure servicebus


    【解决方案1】:

    您是否尝试从 web.config 中的 serviceHostingEnvironment 元素中删除 aspNetCompatibilityEnabled 属性?

    它本身在 Win2k3 上可用(这就是 Web 托管 WCF 服务的工作方式),但 IIS 的应用程序池和激活模型与较新版本的略有不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 2022-12-13
      • 2012-07-06
      相关资源
      最近更新 更多