自托管WCF服务中的HttpModules

时间:2012-07-12 15:03:34

标签: wcf httpmodule

我们有一个使用DataServiceHost类自托管WCF数据服务的Windows服务。一切正常,但如果可能的话,我们想将一些HTTPModule连接到服务。其中一个HTTP模块用于自定义基本身份验证,另一个用于审计(包括响应,这就是为什么HTTP模块可以很好地工作)。

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

所以,我的问题是:

  1. 是否可以让HTTP模块侦听自托管的WCF数据服务?
  2. 如果无法做到这一点,我会有哪些类似于HTTP模块功能的选项?

1 个答案:

答案 0 :(得分:0)

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

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

但是,看起来你只需要一些能让你像HTTPModules为ASP.NET应用程序那样跳进管道的东西。在这种情况下,有很多选项。您可以查看this page了解大量样本。

您提到了身份验证,WCF中内置了很多选项,可以帮助您免于推出自己的解决方案。请查看here