HttpContext是asp.net的一个重要的内核对象,是和本次请求相关的一个上下文对象。在一般处理程序IHttpHandler接口中ProcessRequest方法的参数中可以获得该对象,通过该对象可以获得Http请求中的报文头和报文头以及响应等信息。如果是在其他的程序集中想获取到该对象,那么可以通过HttpContext.Current拿到当前请求堆栈中的HttpContext对象,但是最后通过参数的形式传递,不要通过Current的方式获取,通过参数传递会使程序逻辑更加清晰。需要注意的是,如果是在子线程中是无法通过Current的方式获取到当前上下文对象的,只能通过参数传递的方式。
此外,Request和Response内置对象是HttpContext类的两个属性,Request的类型是HttpRequest,Response的类型是HttpResponse,通过这两个对象可以获取到浏览器发来请求报文中的所有基本信息,比如表单提交时,获取get的请求中的参数context.Request.QueryString(“参数名”),post请求报文体中的参数context.Request.Form(“参数名”),也可以使用get和post通用的方式context.Request[“参数名”]获取请求的参数值。