0

客户使用http://aaa.com/uploads/bb/index.html请求我的 ASP.NET MVC 站点。我想确保客户有足够的权限访问该站点,所以我需要捕获请求并处理它。我习惯IHttpModule这样做。

public class myHttpModule : IHttpModule {
    public void Init(HttpApplication context)
    {
        context.BeginRequest += new EventHandler(context_BeginRequest);
    }

    void context_BeginRequest(object sender, EventArgs e)
    {
        HttpApplication application = (HttpApplication)sender;

        Uri url = application.Context.Request.Url;
        string path = url.AbsoluteUri;
    }
}

问题是当第二次使用相同的 url 请求网站时,HttpModule无法捕获请求。

4

1 回答 1

0

得到了答案!这是关于http缓存的。我编写如下代码,问题被解决:

public class myHttpModule : IHttpModule {
public void Init(HttpApplication context)
{
    context.BeginRequest += new EventHandler(context_BeginRequest);
}

void context_BeginRequest(object sender, EventArgs e)
{
    HttpApplication application = (HttpApplication)sender;

    Uri url = application.Context.Request.Url;
    string path = url.AbsoluteUri;
    **app.Response.Cache.SetCacheability(HttpCacheability.NoCache);**
}

}

于 2013-10-17T07:19:46.637 回答