相关疑难解决方法(0)

asp.net mvc无法访问基本控制器中的cookie数据

对于每个请求的页面,我需要检查一个cookie或创建它,如果它不存在.如果cookie在那里,我需要根据该cookie的内容从DB加载一些信息.

为此,我创建了一个名为AppController的基本控制器,我的其他控制器继承自该控制器.

然后我有类似的东西(所以我的所有控制器都可以使用CurrentSessionValues对象):

    public MySession CurrentSessionValues;
    public ApplicationController()
    {
        if (Request.Cookies["MySiteCookie"] == null)
        {
            // create new Record in DB
            CurrentSessionValues = CreateMySession();
            HttpCookie cookie = new HttpCookie("MySiteCookie");
            cookie.Value = CurrentSessionValues.SessionID.ToString;
            Response.SetCookie(cookie);
        }
        else
        {
           // use the value in MySiteCookie to get values from the DB
           // e.g. logged in user id, cart id, etc
        }

    }
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我在default.aspx中收到此错误:

创建"Mvc_Learn.Controllers.HomeController"类型的控制器时发生错误.

如果控制器没有控制器工厂,请确保它具有无参数的公共构造函数.

它在Request.Cookies ["MySiteCookie"]上中断

我应该以其他方式或其他地方做这个逻辑吗?

asp.net-mvc

4
推荐指数
1
解决办法
3598
查看次数

标签 统计

asp.net-mvc ×1