我正在研究HttpModule
类,用于收集ASP.Net
应用程序的性能和运行时数据。
我已经找到了如何访问Session
以获得有关ASPX
文件和实现IHttpHandler
的类(例如自定义Web资源或axd
文件)的信息,但是我找不到一种方法来访问在通用处理程序(HttpContext
文件)上传递到ProcessRequest()
的{{1}}实例。
ASHX
抛出Application.Session
(会话状态在此上下文中不可用)
和HttpException
。
谢谢!
答案 0 :(得分:2)
如果您在项目中添加新的通用处理程序,它应该像这样
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
将context
作为您可以使用的HttpContext传递。
如果您需要阅读会话,则需要添加IReadOnlySessionState
或IRequiresSessionState
(区别为see here)
using System.Web.SessionState;
public class Handler1 : IHttpHandler, IReadOnlySessionState