11

我不知道,我们为什么要使用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

4 回答 4

31

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

  1. 请求类型(发布、获取)
  2. 请求参数(查询字符串、发布的数据)
  3. 用户的 IP 地址
  4. 饼干

此外,您可以通过此对象控制您的输出。在Items属性中,这是一个字典,您可以存储对象的实例以确保它们为请求创建一次。您可以控制应用自定义过滤器的输出流。

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

于 2012-05-23T05:59:26.987 回答
4

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

于 2012-05-23T05:54:37.623 回答
4

这就像说“为什么我需要去银行取钱?”,答案是“因为那里就是钱。

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

有一个更长的解释,其他人正在给出所有技术细节。但最终,答案归结为这一点。

于 2012-05-23T06:00:01.137 回答
0

在 Web 表单中的 asp.net MVC 之前,有类请求、响应,您可以在其中获取 cookie 和会话,而 MVC 中的那些人员所有 HTTP 信息(如请求和响应)及其属性现在都在 HTTpcontext 中。

于 2019-10-17T18:40:29.527 回答