我有以下代码,在.cshtml.cs
文件中部分可用,但在.cshtml
文件中不可用:
我需要更改我的GlobalExceptionFilter
还是需要添加其他内容以捕获.cshtml
的错误?
对于这两种错误,它们都会重定向到/ Error页面。
public class GlobalExceptionFilter : IExceptionFilter
{
public void OnException(ExceptionContext context)
{
LogError(context.Exception);
}
}
在
Startup.cs
文件中:public void ConfigureServices(IServiceCollection services)
{
services.AddMvcOptions(options =>
{
options.Filters.Add<GlobalExceptionFilter>();
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
}
在
Index.cshtml.cs
中:public void OnGet()
{
throw new Exception("Test"); //This hits GlobalExceptionFilter
}
在
Index.cshtml
文件中:@{
throw new Exception("Test"); //This does NOT hit GlobalExceptionFilter
}
提前感谢您。