2012-07-12 52 views
1

我們有一個使用DataServiceHost類自託管WCF數據服務的Windows服務。一切都工作得很好,但我們想如果可能的話在一定的HttpModules掛鉤的服務。其中一個HTTP模塊的將是自定義的基本身份驗證,另一個用於審計(包括反應,這就是爲什麼一個HTTP模塊運作良好,爲這個)。自我託管的WCF服務中的HttpModules

請記住,我們作爲一個常規的Windows服務運行,所以我們沒有web.config,該服務不是由IIS託管,它不是一個ASP.Net應用程序。

所以,我的問題是:

  1. 是否有可能有一個HTTP模塊監聽自託管WCF數據服務嗎?
  2. 如果這是不可能的,你會不會有什麼選項是類同的HTTP模塊的電源?
+0

WCF是** NOT ** ASP.NET(從來不是) - 所以不,WCF沒有使用和使用HTTP模塊的機制。 – 2012-07-12 15:12:29

+0

你可能想看看這個問題http://stackoverflow.com/questions/1478695/what-is-the-wcf-equivalent-of-an-httpmodule – 2012-07-12 15:19:53

+0

marc_s - 感謝清理,filpen - 是的謝謝,我轉移到這個問題後發佈:(這有我所需要的! – 2012-07-12 16:39:26

回答

0

雖然您可以利用許多ASP.NET功能(如會話),但如果您將服務配置爲兼容ASP.NET,WCF不會在標準ASP.NET應用程序的相同請求管道上運行。

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 

但是,它看起來像你只需要的東西,可以讓你跳進那個管道的HttpModules ASP.NET應用程序的方式做。既然如此,有選項大量。您可以爲大量樣品的檢查this page

您提到了身份驗證,並且WCF中內置了大量選項,可以幫助您避免使用自己的解決方案。檢查出來here

+0

謝謝!我不會擔心嘗試的Asp兼容性(酷功能雖然),我有一個工作的ServiceBehavior和DispatchMessageInspector做我所需要的感謝樣品。 – 2012-07-12 16:41:32