2016-07-27 64 views
1

我已經使用Visual Studio 2015開發了一個簡單的ASP.NET Core應用程序,並在本地計算機上對其進行了測試。一切都按照預期運行。發佈後Web應用程序不響應

上傳到我的網站託管服務器(通過FTP)後,它突然停止顯示實際頁面。

我的意思是,我可以看到路由工作正常(我立即導航到/Auth/Login因爲我沒有在應用程序(登錄,即使是原來的地址爲/App/Index,但不知什麼原因,我只能看到一個空白頁(沒有什麼,當我檢查網頁)

僅舉 - 由於我的Web服務器是如何工作的&的文件夾結構是如何管理的辦法,我只好重新命名的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

+0

你有沒有嘗試在你的本地IIS實例上託管它(即不通過Express與VS)? –

+0

不是真的,我還沒找到如何設置它的方法,因爲我上次無法使用它 –

+0

我認爲如果您在使用遠程虛擬主機之前先了解如何在本地進行部署,將會更容易排除故障。你最後一次嘗試在本地設置它 - 是否表現完全一樣? –

回答

1

最後,我設法解決問題,刪除舊的發佈文件夾,刪除發佈配置文件,並完全重新發布我的整個網站。

+0

這聽起來像你可能已經從RC1遷移到RTM(閱讀:從DNX到dotnet-cli)? – Tseng