IHttpHandler并继续使用PageParser.GetCompiledPageInstance进行分页

时间:2013-03-17 21:01:27

标签: c# asp.net httphandler ihttphandler

我正在尝试做一个简单的HttpHandler来检查一些事情(安全性 - 虽然这不重要)并继续到页面。它应该很简单,但我显然有一个或两个参数GetCompiledPageInstance不正确:

public void ProcessRequest(HttpContext context)
{
    if (CheckAccess(context))
        PageParser.GetCompiledPageInstance(context.Request.Path, context.Request.PhysicalPath, context);
}

public bool IsReusable { get { return false; } }

private bool CheckAccess(HttpContext context)
{
    return true;
}

这是一个网站,而不是应用程序,但我认为这不会有所作为。

当我将处理程序代码添加到Web配置

<add name="SecurityHandler" verb="*" path="*.aspx" type="SecurityHandler" />

现在我收到一个错误,我在添加它之前没有得到(没有其他更改):

  

只有在配置文件或Page指令中将enableSessionState设置为true时,才能使用会话状态。还请确保System.Web.SessionStateModule或自定义会话状态模块包含在应用程序配置的\\部分中。

没关系。找到第二部分的答案:Problem with HttpHandler and session state

在处理程序

中实现IRequiresSessionState

1 个答案:

答案 0 :(得分:1)

尝试:

    PageParser.GetCompiledPageInstance(context.Request.Path, context.Request.PhysicalPath, context )
         .ProcessRequest( context );