我在嘗試訪問成功登錄後的用戶數據時收到NullReferenceException。這裏的查詢是關於在登錄過程中用戶數據實際上可以被查詢的時間。這裏是我已經放入賬戶控制器的登錄方法的代碼:調用SingInManager並返回成功後沒有用戶數據可用MVC5
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, change to shouldLockout: true
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
var sh = new SoapHelper();
var user = UserManager.FindById(User.Identity.GetUserId());
Session["UserExists"] = true;
Session["StartDate"] = DateTime.Now.ToString("yyyyMMdd");
Session["EndDate"] = DateTime.Now.ToString("yyyyMMdd");
Session["UserCompany"] = user.CompanyID;
的代碼的最後一行是在錯誤被拋出,我是不能夠訪問的UserManager得到我所需要的數據從用戶表中此時在登錄過程中?
任何幫助將不勝感激!
'user'是否成功返回? User.Identity.GetUserId()是否返回一個值? –
我能解決我的問題,但不能接受我自己的答案,請參閱下文。 – Nate58