Web api中的会话状态变量用法

时间:2016-04-19 17:05:24

标签: asp.net asp.net-web-api asp.net-web-api2

我正在尝试在我的web api非mvc应用程序中使用会话变量。

我在global.aspx页面启用了会话

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

现在在我的控制器中

public class AuthenticateController : ApiController
{
[Route("api/CheckLogin")]
public string AuthenticateUser(Models.Customer customer)
{

HttpContextBase context = null;
var httpContext = context as HttpContextBase;
httpContext.Session["username"] = "sa";

}

但我得到null ref错误。

我怎样才能实现这个目标

请帮忙

1 个答案:

答案 0 :(得分:-1)

context设置为null。所以基本上你正在执行null.Session["username"]!但是为什么你需要在这个实现中进行会话。这是一个REST服务吗?它应该是无国籍的。 在这里看到这个优秀的答案:Link