发布后Web应用程序不响应

时间:2016-07-27 06:40:49

标签: c# asp.net-core asp.net-core-mvc

我使用Visual Studio 2015开发了一个简单的ASP.NET Core应用程序,并在本地计算机上进行了测试。一切都按照预期运行。

将其上传到我的虚拟主机服务器(通过FTP)后,突然停止显示实际页面。

我的意思是我可以看到路由正常工作(因为我没有登录应用程序,我立即导航到/Auth/Login(即使原始地址是/App/Index,但是由于未知原因,我只能看到一个空白页面(当我检查页面时没有任何内容)。

提一下 - 由于我的网络服务器的工作方式和方式;如何管理文件夹结构,我不得不将 wwwroot 的所有实例重命名为 www_root ;但我已经做到了......而且它在我以前的应用程序中正常工作。

这里有什么问题?为什么我的观点没有正确地注入应用程序?

编辑1 - 更多信息

以下是我的身份验证方式:

Startup.cs

下设置
        services.AddIdentity<IP_User, IdentityRole>(config =>
        {
            config.User.RequireUniqueEmail = true;
            config.Password.RequiredLength = 5;
            config.Cookies.ApplicationCookie.LoginPath = "/Auth/Login";
            config.Cookies.ApplicationCookie.Events = new CookieAuthenticationEvents()
            {
                OnRedirectToLogin = ctx =>
                {
                    if ((ctx.Request.Path.StartsWithSegments("/api"))
                    && ctx.Response.StatusCode == (int)HttpStatusCode.OK)
                    {
                        ctx.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                    }
                    else
                    {
                        ctx.Response.Redirect(ctx.RedirectUri);
                    }

                    return Task.FromResult(0);
                }
            };

        }).AddEntityFrameworkStores<ShoppingContext>();

并在AuthController下:

public class AuthController : Controller
    {
        private SignInManager<IP_User> _signInManager;

        public AuthController(SignInManager<IP_User> signInManager)
        {
            _signInManager = signInManager;
        }

        // GET: /<controller>/
        public IActionResult Login()
        {
            if (User.Identity.IsAuthenticated)
            {
                return RedirectToAction("Index", "App");
            }

            return View();
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> Login(LoginViewModel vm, string ReturnUrl)
        {
            if (ModelState.IsValid)
            {
                var result = await _signInManager.PasswordSignInAsync(vm.Username, vm.Password, true, false);

                if (result.Succeeded)
                    return RedirectToAction("Index", "App");
                else
                    ModelState.AddModelError("", "Username or Password incorrect.");
            }

            return View();
        }

        public async Task<IActionResult> Logout()
        {
            if (User.Identity.IsAuthenticated)
            {
                await _signInManager.SignOutAsync();
            }

            return RedirectToAction("Login", "Auth");
        }
    }

IP_User只是一个继承的IdentityUser

1 个答案:

答案 0 :(得分:1)

最后,我设法通过删除旧的Publish文件夹,删除发布配置文件并完全重新发布我的整个网站来解决问题。