我有一個自定義的重寫模塊,當特定的查詢字符串參數通過時,我需要能夠調用server.transfer而不是response.redirect由於保存軟件和跟蹤Server.Transfer不會觸發應用程序生命週期事件
在RewriteModule的Init事件我註冊的事件:
的BeginRequest 的PreRequestHandlerExecute ReleaseRequestState
當一個Response.Redirect的被稱爲ReleaseRequestState事件實際上是調用和重寫模塊併發症ETE和新的控制URL的設置
當Server.Transfer方法被調用,然後不叫ReleaseRequestState事件和友好的URL沒有設置
我想我明白一個Response.Redirect的和服務器之間的不同.Transfer,但我不明白爲什麼事件實際上不會被調用 - Session.End或Session.Abandon事件被調用,並且這個事件永遠不會被解僱?或者是完全不同的東西在這裏發生
感謝
保羅
嗨感謝回去我 - 如果沒有新的請求,那麼它肯定會再繼續撥打PostReleaseState eventrather不僅僅是查殺要求? – stack72 2010-07-26 12:54:16
似乎應該。除非管道內部發生了一些魔法,才能知道國家是否被收購。如果沒有獲得狀態(如.css請求),也許框架不會調用ReleaseRequestState。只是猜測 - 我不知道這個事實。 – PatrickSteele 2010-07-26 13:08:36