即使我可以看到值,会话返回null

时间:2012-10-07 02:07:33

标签: c# asp.net-mvc session

public class BaseController : Controller
{
    public string UserId { set; get; } 
    public string AccessToken { set; get; }

    private readonly IUnitOfWork _unit;

    public BaseController(IUnitOfWork unit)
    {
        _unit = unit;
    }

    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    { 
        UserId = Session["_UserId"] as string; 
        AccessToken = Session["_AccessToken"] as string;
        // ......
    }
 }

即使AccessToken返回值。 UserId即将null,即使我可以调试并看到Session对象中有值。

我在会话中设置它们:

        Session.Add("_UserId", user.Id);
        Session.Add("_AccessToken", user.AccessToken);

发生了什么事?

1 个答案:

答案 0 :(得分:3)

UserId = Session["_UserId"] as string; 

看起来键“_UserId”的值不是字符串 - 因此您得到null