2015-12-16 2 views
6

Я получаю пустые страницы как при вводе недопустимого URL-адреса, так и в том случае, когда исключение выбрано в моем приложении. У меня включен UseDeveloperExceptionPage(), и я подтвердил, что среда моего приложения находится в режиме разработки и что метод запускается. Приложение работает нормально, но отсутствие отображения сообщений об ошибках в браузере вызывает разочарование.Получение пустых страниц для сообщений об ошибках с использованием UseDeveloperExceptionPage

Моего Startup.cs Настройка метода:

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(); 
     } 

Моего project.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" 
    ] 
} 

ответ

13

Вопросов, порядок - ставить UseMvc(..) после ваших блоков исключения так промежуточное исключения может перехватывать исключения, что промежуточный Mvc броски.

Если вы посмотрите на source for DeveloperExceptionPageMiddleware, вы увидите, что он просто вызывает следующее промежуточное программное обеспечение в конвейере внутри try/catch.

404s однако все равно будет показывать пустую страницу, поскольку они не являются исключением. Чтобы настроить что-то еще для этого, взгляните на StatusCodeErrorPages.

+0

Все ссылки мертвы! –

+0

@CoolBreeze fixed –

+0

'app.UseStatusCodePages()' был тем, что я искал –

Смежные вопросы