在MVC控制器中使用会话返回错误

时间:2017-03-31 16:09:29

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

我试图使用Session,但通常情况下我不使用它。

[HttpPost]
[Route("FiltroSiltDet")]
public HttpResponseMessage FiltroSiltDet(string DT_INCLUSAO)
{
    try
    {
        HttpSessionState Session = HttpContext.Current.Session;
        Session["DT_INCLUSAO"] = "test";
        Session["DT_INCLUSAO"] = DT_INCLUSAO;
        List<AcompanhamentoSiltDetDTO> retorno = new List<AcompanhamentoSiltDetDTO>();

        using (AcompanhamentoSiltBLL oBLL = new AcompanhamentoSiltBLL())
        {

            retorno = oBLL.AcompanhamentoSiltTransacaoDet(DT_INCLUSAO);
        }
        var resp = Request.CreateResponse<List<AcompanhamentoSiltDetDTO>>(HttpStatusCode.OK, retorno);
        return resp;

    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }
}

我总是以这种方式使用会话而现在不能正常工作 当它尝试将值传递给会话时,我收到此错误。

  

对象引用未设置为对象的实例

有人知道为什么它无效。

我正在使用MVC应用程序,我总是在Web表单中使用此会话方法我是Asp.Net MVC的新成员。

1 个答案:

答案 0 :(得分:0)

我通过在控制器类中添加SessionState属性在MVC应用程序控制器中使用了Session,请尝试此操作...

向您的课程添加[SessionState(SessionStateBehavior.Required)]属性

现在应该可以了

Session [“ DT_INCLUSAO”] =“测试”;

Session [“ DT_INCLUSAO”] = DT_INCLUSAO;