如何创建会话并在会话中设置UserBean

时间:2013-03-13 09:26:08

标签: c# nancy

我是Nancy和.NET框架的新手。我在恐慌的情况下奔跑。

我已经编写了自己的Bootstrapper来启用项目中的CookieBasedSessions。这是我必须执行的任务。

  1. 用户登录后创建会话并在会话中设置User
  2. 然后在每个请求中验证session

    中的用户
     class Bootstrapper : DefaultNancyBootstrapper
    {
    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        base.ApplicationStartup(container, pipelines);
        CookieBasedSessions.Enable(pipelines);
    }
    
    }
    
  3. 这是我的控制器。

         Post["/myapp/login"] = parameters =>
            {
                var model = new User();
                model.UserName = this.Request.Form.userName;
    
    
                model = manager.GetUser(model.UserName);
                if (!string.IsNullOrEmpty(model.UserName) && model.isAdmin())
                {
                   // var user = Request.Session["user"];
                    if (Request.Session["key"] != null)  // Here i get the ERROR
                        Request.Session["key"] = model;
    
                    return Response.AsRedirect(HOME_URL);
                }
                else
                    return Response.AsRedirect(LOGIN_URL);
            };
    

    当我执行此代码时,我收到{"Session support is not enabled."}错误。

    感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

它没有使用您的自定义引导程序 - 将该类公开,它将接收它。