在自定义的HttpModule中,要用到Request,
public void App_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
HttpRequest request;
request=app.Request; //方式1
request=app.context.Request; //方式2
request=HttpContext.Current.Request; //方式3
…
}
哪位高手给解释一下这三种方式的区别啊
据我的了解,应该是一样的。HttpApplication在一个网站里面只有一个,而HttpContext是一个所谓的上下文的概念,每个请求与服务器建立连接后,都会有一个独立的上下文,这里面保存了该请求相关的所有数据。
app.Request是app.Context.Request的缩写方式,也可以理解为快捷方式
而前两种写法,本质上都是需要找到在当前这个Application中,与当前用户请求有关的上下文(HttpContext.Current)所关联的请求(Request)