2010-11-02 88 views
0

問題給你們。 如果我通過IIS中的isapi過濾器捕獲404錯誤,並調用帶有代碼的處理程序,通過將其url請求作爲參數並在數據庫上運行查詢來重定向用戶。如果多個用戶同時被錯誤處理程序捕獲,是否可以遇到使動態服務器端重定向的問題?我相信第一個執行被終止,第二個執行完成,並且兩個用戶都被重定向到相同的URL。IIS 404動態重定向

有什麼想法? 感謝

回答

0

我通過IIS ISAPI篩選器捕獲404錯誤...

我不清楚,如果你是寫作過濾器,或者如果過濾器已經存在。我假設你自己寫了它,因爲這是stackoverflow,並且我會假設C或C++,因爲你說的是​​ISAPI。

case .... ISAPI過濾器將爲每個請求傳入請求獲得一個HTTP_FILTER_CONTEXT。你需要構建你的代碼,以便將這些事情分開;如果使用C,則將指針傳遞給代碼中每個函數的結構,或者如果使用C++將其存儲在對象狀態中。你的代碼也需要是線程安全的。

如果多個用戶同時被錯誤處理程序捕獲,我是否可以遇到使動態服務器端重定向的問題。

是的,如果你不遵循編寫多線程過濾器的要求。


有一些簡單的方法可以完成你想要的,我想。 IIS allows administrators to specify URLs to deliver a "custom HTTP Error Response"。 URL可以是網絡服務器上的任何內容,包括動態網頁腳本,如使用ASPNET或PHP或其他編寫的頁面。您可能需要使用302重定向到您的動態頁面;這是一種常見的模式。沒有必要訴諸編寫ISAPI過濾器。