簡體   English   中英

使用HttpModule從通用處理程序中獲取HttpContext。

[英]Getting the `HttpContext` from a generic handler with an `HttpModule`

我正在使用HttpModule類來收集ASP.Net應用程序的性能和運行時數據。

我已經找到了如何訪問Session以獲得有關實現IHttpHandler ASPX文件和類(例如自定義Web資源或axd文件)的信息,但是我找不到找到訪問傳遞到ProcessRequest()HttpContext實例的方法。 ProcessRequest()在通用處理程序( ASHX文件)上。

Application.Session拋出HttpException

(會話狀態在此上下文中不可用)

HttpContext.Current.Session == null

謝謝!

如果將新的Generic Handler添加到項目中,它應該像這樣

public class Handler1 : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World");
    }

context作為您可以使用的HttpContext傳遞。

而且,如果您需要閱讀會話,則需要添加IReadOnlySessionStateIRequiresSessionState (有關區別, 請參見此處

using System.Web.SessionState;

public class Handler1 : IHttpHandler, IReadOnlySessionState

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM