Immer leere Seiten für Fehlermeldungen mit UseDeveloperExceptionPage aktiviert
Ich erhalte leere Seiten für beide, wenn ich eine ungültige URL eingeben, oder wenn eine Ausnahme geworfen wird, die in meiner Anwendung. Ich habe UseDeveloperExceptionPage() aktiviert, und ich bestätigt, dass meine app-Umgebung ist in der Entwicklung Modus, und dass die Methode ausgelöst. Die app funktioniert gut, aber nicht mit Fehlermeldungen Anzeige im browser ist frustrierend.
Mein Start.cs Konfigurieren-Methode:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseIISPlatformHandler();
app.UseStaticFiles();
app.UseIdentity();
app.UseMvc(m =>
m.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Index" }
));
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
CreateSampleData(app.ApplicationServices).Wait();
}
Mein Projekt.json
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final",
"Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4",
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
]
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Reihenfolge ist wichtig - setzen
UseMvc(..)
nach Ihrer Ausnahme-Blöcke die Ausnahme-middleware können fangen Sie die Ausnahmen, die die Mvc-middleware wirft.Wenn Sie einen Blick auf die Quelle für die
DeveloperExceptionPageMiddleware
können Sie sehen, dass es ruft einfach die nächste middleware in der pipeline innerhalb eines try - /catch.404 jedoch wird immer noch eine leere Seite, da sind Sie keine Ausnahme. Konfigurieren Sie etwas anderes für diejenigen, werfen Sie einen Blick auf StatusCodeErrorPages.
app.UseStatusCodePages()
war, was ich suchte