[英]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傳遞。
而且,如果您需要閱讀會話,則需要添加IReadOnlySessionState
或IRequiresSessionState
(有關區別, 請參見此處 )
using System.Web.SessionState;
public class Handler1 : IHttpHandler, IReadOnlySessionState
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.