【问题标题】:How can we access a session variable in a controller which is defined in an api controller?我们如何访问在 api 控制器中定义的控制器中的会话变量?
【发布时间】:2014-10-07 12:04:53
【问题描述】:

我在 Api 控制器中定义了一个会话变量

HttpContext.Current.Session["_USBDocuments"] = folders;

现在,我想访问在普通控制器的 api 控制器中定义的会话变量。

可以这样访问吗?如果有可能,那么访问它的方式是什么?

谢谢。

【问题讨论】:

  • var folders = HttpContext.Current.Session["_USBDocuments"];
  • 如果它们在同一个 HttpContext 中,那么上面的 yes 将起作用。
  • 谢谢 但是相同的HTTPContext是什么意思
  • 你可能想看看这篇文章:stackoverflow.com/questions/9594229/…

标签: asp.net asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

按照设计,您不应该在 Web API 中使用 Session。它违背了它成为无状态的目的。但是如果你还想在 Api Controller 中访问 Session,你可以在 Global.asax.cs 文件中添加如下函数:

protected void Application_PostAuthorizeRequest()
{
    HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}

【讨论】:

    猜你喜欢
    • 2013-05-28
    • 2017-09-22
    • 1970-01-01
    • 2015-06-10
    • 2018-07-01
    • 2011-08-07
    • 1970-01-01
    • 2015-02-24
    • 2023-03-10
    相关资源
    最近更新 更多