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

我正在写一个认证码。我正在对web服务器进行身份验证。目前,我的代码从xcode获取用户名和密码,并通过URL将其发送到web服务,然后URL返回我在xcode中读取的json字符串。当连接成功时,我想创建一个会话,并在xcode中读取该会话

Web Api:

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有这个功能吗?你现在可以看看代码了吗?我缩小了它,只显示了重要的人员。我认为这个错误与会话状态无关。也许是初始化问题?