【问题标题】:problem with HttpContext in mvc 2mvc 2中的HttpContext问题
【发布时间】:2011-07-21 04:17:48
【问题描述】:

当我尝试从控制器访问 HttpContext.Current 时出现错误。 我想让会话添加一些特定于会话的数据,这给了我一个问题:

var a = HttpContext.Current.Session;

据称错误是“System.Web.HttpContextBase”不包含“Current”的定义。

【问题讨论】:

    标签: c# asp.net-mvc-2 session web-applications


    【解决方案1】:

    当我尝试从控制器访问 HttpContext.Current 时

    你不应该使用HttpContext.Current

    只需使用Session 属性即可访问会话:

    public ActionResult Index()
    {
        Session["foo"] = "bar";
        ...
    }
    

    您收到错误的原因是因为控制器类已经有一个名为HttpContext 的属性,所以当您编写HttpContext.Current 时,它是使用的属性,而不是@987654328 上的静态Current 属性@类。

    【讨论】:

    • 谢谢!这解决了它。另一方面,如何从您编写并导入的类中巧妙地检索会话对象?我认为在控制器之外没有 Session 对象。
    • @Bruno Figares,您永远不应该在有权访问会话的 ASP.NET MVC 标准类(控制器、操作过滤器、帮助器等)之外使用会话。因此,您的自定义类不会从会话中获取数据。这是不好的做法。您将这些数据从控制器传递给他们,...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 2014-06-03
    相关资源
    最近更新 更多