2017-01-10 36 views
0

如何在使用自託管Owin時獲取HttpRequestContext?如何在使用自託管Owin時獲取HttpRequestContext?

我的類正在被ApplicationInsights調用,而不是由控制器調用,所以我無法訪問任何上下文。

有沒有什麼辦法與我們使用HttpContext的方法類似?

+0

您需要提供更多信息。 AppInsight正在調用什麼類?你想達到什麼目的? –

+0

使用靜態的HttpContext.Current屬性,我們可以從任何類中檢索HttpContext和相關的請求。但是owin自己的主機沒有HttpContext。那麼在任何類中獲取請求數據的替代方法是什麼? – user2508039

回答

0

當使用OWIN自託管時,沒有靜態類來檢索請求,因爲您本質上處於控制檯應用程序中,而您並不知道您編寫了接收http請求的代碼。

歐文是一條管線。通過使用包含請求的上下文參數(以及針對該事件的響應)調用下一個中間件,將請求從中間件傳遞到中間件。

在管道中註冊的每個中間件都可以按照註冊順序檢查請求,並在處理響應之前調用下一個中間件。

這是很容易寫你自己的中間件,在管道中進行註冊,並檢查請求對象爲每個請求在未來

看看這裏,如果你需要一個快速的代碼示例:http://benfoster.io/blog/how-to-write-owin-middleware-in-5-different-steps

相關問題