【发布时间】:2019-11-05 05:51:02
【问题描述】:
我的登录方法在 localhost 上运行正常,但是当我在服务器上发布时,得到 ArgumentNullException 错误
mynamespase.Controllers.d__11.MoveNext() 在 E:\mylocaldirectory\myassembly\Controllers\M_AccountController.cs:179
奇怪的是为什么错误会在服务器上显示我的本地地址,为什么我的代码在 localhost 上运行正常,但在服务器上却出现错误,代码相同
实际上,我真正的问题是这一行 "E:\mylocaldirectory\myassembly\Controllers\M_AccountController.cs:179" [这是我的错误图片][ https://i.stack.imgur.com/IUBTP.jpg]
[HttpPost]
public virtual async Task<ActionResult> Check_Code_4_Login(string code, string phoneNumber, string returnUrl)
{
var baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority;
var dtNow = DateTime.Now;
var _code = Convert.ToInt32(code);
var userActiveCode = await _userActiveCodeService
.FindFirstAsync(p =>
p.PhoneNumber == phoneNumber &&
p.ActiveCode == _code &&
p.ActiveCodeExpireDate > dtNow &&
p.Used == false &&
p.Enabled);
if (userActiveCode == null)
{
TempData["Error"] = "Code Incorrect";
return RedirectToAction(nameof(PostedLogin),new {phoneNumber=phoneNumber, reagentCode="",returnUrl="" });
}
var user = await _userManager.FindByPhoneNumberAsync(userActiveCode.PhoneNumber);
if (user == null)
{
var _user = new User
{
UserName = phoneNumber,
PhoneNumber = phoneNumber,
RegisterDate = dtNow
};
var res = await _userManager.CreateAsync(_user);
if (res == IdentityResult.Success)
{
user = _user;
await _userManager.AddToRoleAsync(user.Id, "Customer");
}
else
{
//todo Error
throw new Exception("Registeration Error");
}
}
await _signInManager.SignInAsync(user, true, true);
var userIdentity = await _userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
return Redirect(returnUrl != null ? returnUrl : baseUrl);
}```
I expect the output of the login method to be login user on the server or have an error on local, but the actual output is login user on local and have an error on server
【问题讨论】:
-
是否从 Visual Studio 发布了应用程序并仅复制了已发布的文件?
-
是的,我从 Visual Studio 发布了应用程序,只复制了发布的文件并替换了 bin 文件夹
标签: c# asp.net iis server asp.net-identity