Xcode 如何使用web api写入会话?
我正在写一个认证码。我正在对web服务器进行身份验证。目前,我的代码从xcode获取用户名和密码,并通过URL将其发送到web服务,然后URL返回我在xcode中读取的json字符串。当连接成功时,我想创建一个会话,并在xcode中读取该会话 Web Api:Xcode 如何使用web api写入会话?,xcode,session,asp.net-web-api,Xcode,Session,Asp.net Web Api,我正在写一个认证码。我正在对web服务器进行身份验证。目前,我的代码从xcode获取用户名和密码,并通过URL将其发送到web服务,然后URL返回我在xcode中读取的json字符串。当连接成功时,我想创建一个会话,并在xcode中读取该会话 Web Api: public class SessionController : ApiController { public bool loggedin = false; public class MyHttpControllerHa
public class SessionController : ApiController
{
public bool loggedin = false;
public class MyHttpControllerHandler: HttpControllerHandler, IRequiresSessionState
{
public MyHttpControllerHandler(RouteData routeData): base(routeData)
{ }
}
public class MyHttpControllerRouteHandler : HttpControllerRouteHandler
{
protected override IHttpHandler GetHttpHandler(
RequestContext requestContext)
{
return new MyHttpControllerHandler(requestContext.RouteData);
}
}
public void Authenticate(string txtLoginId, string txtPassword)
{
Subs objSub = SubService.GetSubs(txtLoginId.Trim(), txtPassword.Trim());
if (objSub != null)
{
loggedin = true;
}
else
loggedin = false;
}
public string Get(string user, string pass)
{
byte[] data = Convert.FromBase64String(pass);
string password = Encoding.UTF8.GetString(data);
Authenticate(user, password);
if(loggedin == true)
{
var session = HttpContext.Current.Session;
session["Time"] = DateTime.Now;
return "Session Time: " + session["Time"] + user;
}else
return "Session is not availabe " + user;
}
}
它在此行返回以下错误:
session["Time"] = DateTime.Now;
ExceptionMessage":"Object reference not set to an instance of an object."
我不确定我在这里是否遵循了你的意图;您想让服务器在20分钟后结束会话,还是只想检查会话状态?我想检查状态。我修改了上面的最后一句话。我在你发布的返回会话状态的API代码中没有看到任何东西。API有这个功能吗?你现在可以看看代码了吗?我缩小了它,只显示了重要的人员。我认为这个错误与会话状态无关。也许是初始化问题?