2011-10-18 46 views

回答

1

將該對象從Web應用程序傳遞給Web服務或此類通信的任何其他組合是沒有意義的。

HttpContext類及其靜態成員Current應該在IIS中運行的Web應用程序或Web服務中爲您提供並初始化。

如果您的Web服務被配置爲在另一個應用程序池或IIS中的其他應用程序中運行,那麼您的current將返回與Web前端的Current不同的內容。

如果您需要傳遞一些屬性,例如用戶名,響應或請求頭等,請傳遞一堆參數或創建自己的類來託管所需的所有內容,但不要直接傳遞上下文。

在某些情況下,如果您無法檢索上下文或會話,可能是因爲您編碼錯誤;例如HttpHandlers只有在實現IRequireSessionStateHttpContext對象作爲ProcessRequest方法的參數傳遞給處理程序時才正確使用該會話。

我認爲總體上總會有一種解決方法,或者您的設計和架構不合適,但無需將自己的上下文從一層傳遞到另一層。

相關問題