2012-10-07 16 views
0
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返回值。即使我可以調試並看到Session對象中存在值,UserId即將作爲null即使我可以看到值,會話返回null

餘米設置他們的會話:

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

什麼事?

回答

3
UserId = Session["_UserId"] as string; 

貌似爲重點「_UserId」的值不是一個字符串 - 因此你null作爲結果。

+1

是嗎?邪惡!!讓我試試 – DarthVader

+0

:)是的,這是正確的。無賴,即使它是一個int的int,爲什麼它不是轉換爲字符串。我有點期待。 – DarthVader