asp.net HTTPHandler阻止加载页面

时间:2014-11-25 10:53:36

标签: c# asp.net .net iis httphandler

我有一个ASP:NET Web项目,它带有一个简单的HTTPHandler,用于过滤掉来自外部IP的请求。 代码本身有效,但 HTTPHandler阻止我的页面加载。没错。没有无限的负荷。这只是一个空白页面。

如果我删除配置中的引用,它加载完全正常。它肯定是由HTTPHandler引起的。我已经逐步完成了处理程序,代码肯定已经到达,只是当处理程序完成时,页面不会像它应该的那样加载。

这是代码。

public class SecurityHttpHandler : IHttpHandler
{
    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        string ipAddress = context.Request.UserHostAddress;
        if (!IsValidIpAddress(ipAddress))
        {
            context.Response.StatusCode = 403; 
        }
    }

    private bool IsValidIpAddress(string ipAddress)
    {
        return true; //for the time being, this will always return true
    }

    public void Dispose() {  } //clean
}

处理程序存在于另一个项目中(我有对程序集的引用),并且httphandler在我的webprojects web.config中注册:

    <handlers>
        <add name="SecurityHttpHandler" verb="*" 
        path="*Default.aspx" 
        type="MyProjects.CommonResources.Web.SecurityHttpHandler" 
        resourceType="Unspecified" />
    </handlers>

我在集成模式下运行IIS 7.5。 .net framework 4.0。

Here's what the blank page looks like:

如果我要添加更多代码,请告诉我。我从我的web项目中排除了代码,因为处理程序本身似乎是asp.net管道中的早期原因。

0 个答案:

没有答案