为什么我们使用HttpContext.Current?

时间:2012-05-23 05:52:16

标签: c# asp.net

我不知道,为什么我们使用HttpContext.Current
在这个属性中,我将它用于Session,但我不知道为什么!

public static string Name
{
    get
    {
         if (HttpContext.Current.Session["_n_"] != null)
            return HttpContext.Current.Session["_n_"].ToString();
         else return "";
    }
    set
    {
         HttpContext.Current.Session["_n_"] = value;
    }
}

4 个答案:

答案 0 :(得分:21)

HttpContext是一个将所有与http相关的信息包装到一个地方的对象。 HttpContext.Current是在活动请求期间创建的上下文。以下是您可以从中获得的一些数据列表。

  1. 请求类型(发布,获取)
  2. 请求参数(查询字符串,发布的数据)
  3. 用户的IP地址
  4. 缓存
  5. 此外,您可以通过此对象控制输出。在Items属性(字典)中,您可以存储对象的实例,以确保为请求创建一次。您可以使用自定义过滤器控制输出流。

    这是您可以使用此属性执行的简短列表。

答案 1 :(得分:5)

这就像是说“为什么我需要到银行取钱?”,答案是“因为这就是钱的所在。”

回答你的问题。因为这就是Session的所在。这真的很简单。你不必知道为什么,就是那就是它。

有一个更长的解释,其他人给出了所有的技术细节。但最后,答案可归结为此。

答案 2 :(得分:3)

这是一种访问当前HttpContext的方法,可能没有对上下文的引用但是在活动的Web请求中。

答案 3 :(得分:0)

在asp.net MVC以Web形式出现之前,存在类request,response,您可以在其中获取Cookie和会话,而MVC中的这些人员现在将所有HTTP信息(例如request和response)及其属性都放在HTTpcontext中。 >