【问题标题】:Enable session in Web Api 2 [duplicate]在 Web Api 2 中启用会话 [重复]
【发布时间】:2014-03-12 14:33:50
【问题描述】:

我知道 REST 应该是无状态的。

我的 Web Api 与我的 MVC 网站在同一个项目中。如何在他们之间共享会话?

我正在尝试使用 Web Api 2 的优点并使用 Ajax,而不是构建 RESTful API。

【问题讨论】:

    标签: c# asp.net-web-api


    【解决方案1】:

    盗自this question

    在 global.asax 中添加以下内容:

    public override void Init()
    {
        this.PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest;
        base.Init();
    }
    
    void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
    {
        System.Web.HttpContext.Current.SetSessionStateBehavior(
            SessionStateBehavior.Required);
    }
    

    【讨论】:

    • 我已经按照您解释的方式实现了,但是当下次调用时,会话值仍会重置为 null。你能帮帮我吗?
    • @ChiragThakar 确保在控制器的构造函数完成后检查会话。在构造函数期间,会话尚不可用。
    • 简单最好
    猜你喜欢
    • 1970-01-01
    • 2014-03-26
    • 2020-02-11
    • 1970-01-01
    • 2013-09-08
    • 2014-10-20
    • 2016-02-21
    • 2020-12-13
    • 2015-08-16
    相关资源
    最近更新 更多