2012-08-22 38 views
0

有沒有人對其中的HTTP狀態代碼(200,404,500,等等)是第一個可用的IIS管道的任何信息?我試圖寫一個錯誤處理的目的將一系列的HTTP模塊和處理程序,我不特別想複製請求/響應得到的值。HTTP管道中第一個可用的HTTP狀態碼在哪裏?

回答

0

看看這裏的任何事件,並採取你的選擇:)

http://msdn.microsoft.com/en-us/library/ms693685(v=vs.90).aspx

從理論上講,狀態代碼可以通過任何管道中的HTTP模塊的改變;它只取決於他們訂閱了哪些事件。

例如,授權模塊可以訂閱OnAuthorizeRequest方法,並在該時間執行其邏輯,並且如果需要改變的狀態代碼。在另一種情況下,傳統的ASP應用程序可以作爲處理程序運行,並且您將無法確定狀態代碼爲500至OnPostExecuteRequestHandler。最後,日誌記錄模塊中的錯誤可能會生成一個500,直到請求處理接近完成纔會發生錯誤(OnLogRequest

更復雜的是,一些處理程序可能會在執行期間吐出未緩衝的數據,因此它可能會在任何OnSendResponse事件,這不以任何特定的順序來了,狀態碼的可能響應之間發生了變化。

所以,這實際上取決於你想爲了有效地處理這個實現的目標。如果你能提供更多細節,也許我們可以制定一個解決方案。