1

我们有一个使用 DataServiceHost 类自承载 WCF 数据服务的 Windows 服务。一切正常,但如果可能的话,我们希望将一些 HTTPModules 连接到服务。其中一个 HTTP 模块用于自定义基本身份验证,另一个用于审核(包括响应,这就是为什么 HTTP 模块在此方面工作得如此出色的原因)。

请记住,我们作为常规 Windows 服务运行,因此我们没有 web.config,该服务不是由 IIS 托管的,也不是 ASP.Net 应用程序。

所以,我的问题是:

  1. 是否可以让 HTTP 模块监听自托管的 WCF 数据服务?
  2. 如果这是不可能的,我会有哪些类似于 HTTP 模块的功能的选项?
4

1 回答 1

0

WCF 不会在与标准 ASP.NET 应用程序相同的请求管道上运行,但如果您将服务配置为与 ASP.NET 兼容,则可以利用许多 ASP.NET 功能(如会话)。

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

但是,看起来您只需要一些可以让您像 HTTPModules 为 ASP.NET 应用程序所做的那样跳入管道的东西。既然如此,就有很多选择。您可以查看此页面以获取大量示例。

您提到了身份验证,并且 WCF 中内置了许多选项,可以避免您推出自己的解决方案。在这里查看。

于 2012-07-12T16:08:21.320 回答