部分代码 运行 在本地主机上正常,但在服务器 (iis) 上出错
part of code running ok on localhost but error on server(iis)
我的登录方法 运行 在本地主机上正确,但是当我在服务器上发布时,出现 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
实际上这些是您的程序集发布的位置
它与您的本地计算机无关,如果您在另一个客户端上尝试,您会看到相同的结果
我的登录方法 运行 在本地主机上正确,但是当我在服务器上发布时,出现 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
实际上这些是您的程序集发布的位置 它与您的本地计算机无关,如果您在另一个客户端上尝试,您会看到相同的结果