使用[WebService(EnableSession = true)]属性时,Web服务中的会话为空

时间:2018-04-17 11:48:19

标签: asp.net asp.net-mvc session

我正在尝试获取名为“Captcha”的会话变量,我之前在控制器中存储和定义。但即使我使用[WebService(EnableSession = true)],“Session”本身也会引发空引用异常。

这是我的方法:(这是我的ASP.NET MVC项目的一个Web服务)

    [WebMethod(EnableSession = true)]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public bool IsCaptchaCorrect(string captcha)
    {
        if (HttpContext.Current.Session["Captcha"] != null) // "Session" throws a 'NullReferenceException'
            return HttpContext.Current.Session["Captcha"].ToString().ToLower() == captcha.ToLower();
        return false;
    }

因此,正如您在上面所看到的,我放置了`[WebMethod(EnableSession = true)]属性,但它仍然抛出异常。 “Session”本身在控制器中工作,但在Web服务中,我得到一个例外。 我已经阅读了大部分关于此的问题,但在我的案例中没有一个有效。

我不知道我的代码有什么问题。 提前致谢

0 个答案:

没有答案