【发布时间】:2016-06-09 13:09:38
【问题描述】:
我创建了一个简单的主页/错误页面,我可以毫无问题地直接访问该页面。它现在只返回一些静态 HTML。当我将 Startup.cs 更改为:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseBrowserLink();
//app.UseDeveloperExceptionPage();
app.UseExceptionHandler("/Home/Error");
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseIISPlatformHandler();
app.UseSession();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
我希望被重定向到 Home/Error。相反,我得到一个空白屏幕,如果我查看 Chrome 开发人员工具中的“网络”选项卡,我会看到我的“Home/TestException”操作返回了 500 状态,该操作引发了异常。
如果我将其切换到 app.UseDeveloperExceptionPage(),则该页面会正常显示。任何想法为什么这不起作用?
我正在使用 .Net Core 1.0.0-rc1-update1。
以下是 Project.json 中的“依赖项”:
"dependencies": {
"AutoMapper": "4.2.1",
"Dapper": "1.42.0",
"Microsoft.AspNet.DataProtection": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "2.2.1",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.Session": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
"Newtonsoft.Json": "8.0.3",
"Oracle.ManagedDataAccess": "12.1.24160419",
"System.Net.Http": "4.0.0"
},
【问题讨论】:
-
我无法复制此问题。请发布您的整个 Configure() 方法以及您使用的 ASP.NET Core 版本。
-
谢谢克林特,我用这些信息编辑了我上面的帖子。
-
您的应用程序是否抛出异常?仅当您的应用程序在
Hosting:Environment Development中运行并引发异常时才会执行此操作。从您的project.json删除行"preserveCompilationContext": true并查看/Home/Error/的简单方法将起作用。 -
你能分享你的主控制器和视图目录结构吗?
-
如果您切换到
app.UseDeveloperExceptionPage(),您会看到什么异常?
标签: asp.net-core asp.net-core-mvc asp.net-core-1.0