2010-09-01 41 views
0

使用.NET 4.0,IIS 7.4的Windows Server 2008 R2asp.net VS在IIS WCF請求管道500錯誤

我必須根據一定的規則的要求WCF Web服務和路由之間,坐在一個asp.net應用。

的IIS錯誤頁面設置爲「詳細本地請求和自定義錯誤......」

的asp.net路由服務使用HttWebRequest對象調用WCF服務。

當wcf服務拋出一個錯誤異常時,我得到一個iis html錯誤響應。

,但我得到了適當的SOAP響應正確的IIS 500錯誤,當我直接調用服務(不包括路由器)

我知道我可以通過更改IIS錯誤頁面設置修復它,但我不希望這樣做,因爲它會暴露我的非wcf錯誤。

問題是

  1. 是那裏的iis如何對待WCF請求VS asp.net請求時,它涉及到500錯誤

  2. 也該用在IIS 6,工作如何差異將這種行爲重新回到iis 7

回答

0

您應該讓ASP.NET不在圖片中。創建一個WCF服務以站在兩個服務之間。您可以從現有的ASP.NET路由器複製路由邏輯。 WCF服務應該使用「添加服務引用」來與這兩個服務進行通信。

另外,只需在ASP.NET路由器中自己使用「添加服務引用」即可。

+0

不幸的是,我們的服務依賴於某些http頭文件,它的一個巨大的改變是,asp.net pipleline與wcf完全不同?如何處理wcf 500不同於asp.net 500 – 2010-09-01 16:21:36

+0

我不知道IIS如何以不同方式處理它們,或者即使涉及IIS。可能是因爲響應的主體包含SOAP而不是HTML? WCF是非常可擴展的。我相信你可以使用WCF處理標題。我不知道確切的技術,但我相信你可以做到。我知道一個WCF消息日誌啓用時會包含HTTP頭信息,這樣證明WCF不會僅僅丟棄頭文件。它們可能存儲在傳入Message對象的Properties屬性中。 – 2010-09-01 16:56:13