2014-04-25 25 views
0

我試圖重寫,像這樣一個網址:HttpContext.Current是轉讓後沒有或重寫

Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs) 
    If [some condition] Then 
     Dim sPath = [fix up path] 

     Context.RewritePath(sPath) 
    End If 
End Sub 

新的路徑是否正確調用,但是當它是,HttpContext.CurrentNothing,這打破了我碼。 Server.TransferServer.TransferRequest有同樣的問題。爲什麼會這樣,我能做些什麼來重寫請求並保留HttpContext?

更新:使用IIS重寫模塊會發生同樣的事情。

回答

0

原來,我是測試特定的代碼重寫後,在異步處理的回調正在運行,因此在後臺線程,這從未有當前HttpContext,這是改寫之前真太。在這種情況下,其他事情讓我第一次注意到一個無關的錯誤。

但在情況下,它可以幫助別人,外賣是:

HttpContext.Current不會在後臺線程工作