Asp.net 使用[WebService(EnableSession=true)]属性时,web服务中的会话为空
我正在尝试获取一个名为“Captcha”的会话变量,我以前在控制器中存储并定义了该变量。但即使在我使用Asp.net 使用[WebService(EnableSession=true)]属性时,web服务中的会话为空,asp.net,asp.net-mvc,session,Asp.net,Asp.net Mvc,Session,我正在尝试获取一个名为“Captcha”的会话变量,我以前在控制器中存储并定义了该变量。但即使在我使用[WebService(EnableSession=true)]时,“会话”本身也会引发空引用异常 这是我的方法:(这是在我的ASP.NETMVC项目的一个web服务中) 因此,正如您在上面看到的,我添加了`[WebMethod(EnableSession=true)]属性,但它仍然抛出一个异常。 “会话”本身在控制器中工作,但在web服务中,我得到一个例外。 我已经阅读了大多数关于这方面的问题
[WebService(EnableSession=true)]
时,“会话”本身也会引发空引用异常
这是我的方法:(这是在我的ASP.NETMVC项目的一个web服务中)
因此,正如您在上面看到的,我添加了`[WebMethod(EnableSession=true)]属性,但它仍然抛出一个异常。
“会话”本身在控制器中工作,但在web服务中,我得到一个例外。
我已经阅读了大多数关于这方面的问题,但没有一个在我的案例中起作用
我不知道我的代码出了什么问题。
提前感谢您正在使用的web服务。。Web API/ASMX或WCF?我正在使用ASMX………你找到什么了吗?@RaviRajindu我很抱歉,我的朋友,这是两年多前的事了,我真的不记得我最终做了什么。你必须用谷歌搜索东西,也许也不再使用
.asmx
,它很古老,你可以用ASP.NET Web API实现你用.asmx
所做的一切。
[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;
}