0
当我尝试从控制器访问HttpContext.Current时出现错误。 我想获得会话以添加一些会话特定的数据,这给我一个问题:mvc 2中的HttpContext问题
var a = HttpContext.Current.Session;
错误,据称是'System.Web.HttpContextBase'不包含'当前'的定义。
当我尝试从控制器访问HttpContext.Current时出现错误。 我想获得会话以添加一些会话特定的数据,这给我一个问题:mvc 2中的HttpContext问题
var a = HttpContext.Current.Session;
错误,据称是'System.Web.HttpContextBase'不包含'当前'的定义。
当我尝试从控制器
你永远不应该使用HttpContext.Current
访问HttpContext.Current。
只需使用Session
属性来访问会话:
public ActionResult Index()
{
Session["foo"] = "bar";
...
}
原因你所得到的错误是因为控制器类已经有一个名为HttpContext属性,因此当你写HttpContext.Current
它的属性,而不是HttpContext
类中的静态Current
属性。
谢谢!这解决了它。另一方面,如何从你编程和导入的类中整齐地检索会话对象?我没有控制器以外的会话对象,我认为。 –
@Bruno Figares,你绝对不应该使用ASP.NET MVC标准类以外的会话来访问会话(控制器,动作过滤器,帮助器......)。所以你的自定义类不会从会话中获取数据。这是不好的做法。你把这些数据从控制器传给他们...... –