Search code examples
c#asp.netiisserverasp.net-identity

part of code running ok on localhost but error on server(iis)


my login method running correctly on localhost but when I published on the server, get ArgumentNullException error

mynamespase.Controllers.d__11.MoveNext() in E:\mylocaldirectory\myassembly\Controllers\M_AccountController.cs:179

It's strange why the error displays my local address on the server and why my code running correctly on localhost but have an error on the server with the same code

actually, my real problem is this line "E:\mylocaldirectory\myassembly\Controllers\M_AccountController.cs:179" [This is my error's image][ https://i.sstatic.net/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



Solution

  • actually these are locations which your Assemblies published it's not related to your local computer you will see the same if you try on another client