Asp.net 我们如何访问api控制器中定义的控制器中的会话变量?

Asp.net 我们如何访问api控制器中定义的控制器中的会话变量?,asp.net,asp.net-mvc-3,asp.net-mvc-4,Asp.net,Asp.net Mvc 3,Asp.net Mvc 4,我在Api控制器中定义了一个会话变量 HttpContext.Current.Session["_USBDocuments"] = folders; 现在,我想访问在普通控制器中的api控制器中定义的会话变量 可以这样访问吗?如果可能,那么访问它的方式是什么 多谢各位 根据设计,您不应该在Web API中使用会话。它违背了无国籍的目的。但是,如果仍要访问Api控制器中的会话,可以在Global.asax.cs文件中添加以下函数: protected void Application_PostA

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

HttpContext.Current.Session["_USBDocuments"] = folders;
现在,我想访问在普通控制器中的api控制器中定义的会话变量

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


多谢各位

根据设计,您不应该在Web API中使用会话。它违背了无国籍的目的。但是,如果仍要访问Api控制器中的会话,可以在Global.asax.cs文件中添加以下函数:

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

var folders=HttpContext.Current.Session[_USBDocuments];如果它们在相同的HttpContext中,那么上面的“是”将起作用。谢谢,但相同HttpContext的含义是什么?您可能想看看这篇文章: