ExceptionFilterAttribute .net核心

时间:2016-10-12 11:56:48

标签: asp.net-core

有一个如何在https://docs.asp.net/en/latest/mvc/controllers/filters.html创建CustomExceptionFilterAttribute的示例 我想用IHostingEnvironment作为参数来创建一个CustomExceptionFilterAttribute。

services.AddMvc(
        config =>
        {
            config.Filters.Add(new CustomExceptionFilterAttribute(???));
        });

我正在尝试在启动类中添加过滤器,但我不知道如何提供IHostingEnvironment参数。

services.AddMvc必须在方法

public void ConfigureServices(IServiceCollection services)

如果我这样做,我就会收到错误

public void ConfigureServices(IServiceCollection services,IHostingEnvironment env)

2 个答案:

答案 0 :(得分:0)

我认为你想要实现的是IExceptionFilter Interface,并且在实现之后你可以在ConfigureServices中添加一些CustomExceptionFilter。需要以不同方式处理CustomExceptionFilterAttribute,因为这是一个Attribute。

答案 1 :(得分:0)

您可以像这样使用Startup构造函数注入:

private readonly IHostingEnvironment _env;
public Startup(IHostingEnvironment env)
{
    _env = env;
}

.....

services.AddMvc(
    config =>
    {
        config.Filters.Add(new CustomExceptionFilterAttribute(_env));
    });

请参阅官方文档https://docs.asp.net/en/latest/fundamentals/startup.html#services-available-in-startup