2016-07-27 15 views
1

Ich habe eine einfache ASP.NET Core App mit meinem Visual Studio 2015 entwickelt und auf einem lokalen Computer getestet. Alles lief erwartungsgemäß.Webanwendung reagiert nicht nach der Veröffentlichung

Nach dem Hochladen auf meinen Webhosting-Server (über FTP), hört es plötzlich auf, die tatsächlichen Seiten anzuzeigen.

Was ich meine ist, dass ich sehe, dass Routing kann richtig funktioniert (ich wurde sofort navigiert /Auth/Login, da ich nicht in der Anwendung angemeldet wurde (obwohl, dass die ursprüngliche Adresse /App/Index war, aber aus unbekannten Gründen kann ich nur sieht eine leere Seite (es gibt nichts, wenn ich die Seite überprüfen)

nur zu erwähnen, -. Aufgrund der Art und Weise, wie mein Webserver & funktioniert, wie die Ordnerstruktur verwaltet wird, hatte ich alle Instanzen wwwroot umbenennen zu www_root, aber ich tat das schon ... und es funktionierte normal mit meiner vorherigen Anwendung.

Was könnte hier falsch sein? Warum wurden meine Ansichten nicht richtig in die App eingefügt?

EDIT 1 - Mehr Infos

Hier ist, wie kann ich eine Authentifikation:

Setup unter 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>(); 

und unter 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"); 
     } 
    } 

Wo IP_User ist nur eine vererbte IdentityUser

+0

Haben Sie versucht, es auf Ihrer lokalen IIS-Instanz zu hosten (d. H. NICHT über Express mit VS)? –

+0

nicht wirklich, ich habe keinen Weg gefunden, wie ich es einrichten, wie ich es zum letzten Mal nicht zum Laufen bringen konnte –

+0

Ich denke, es wird einfacher zu beheben, wenn Sie herausfinden, wie zuerst lokal bereitstellen, bevor Sie einen Remote-Webhost verwenden . Das letzte Mal, als du versucht hast, es lokal einzurichten - hat es sich genauso verhalten? –

Antwort

1

Am Ende habe ich es geschafft, das Problem zu lösen, durch Löschen der alten Veröffentlichen-Ordner, Entfernen von Publish-Profil und vollständige Neuveröffentlichung meiner gesamten Website.

+0

Das klingt, als ob Sie von RC1 zu RTM migriert haben (lesen Sie: von DNX zu dotnet-cli)? – Tseng