依赖注入ActionFilterAttribute替代

时间:2015-12-10 11:37:52

标签: c# asp.net-mvc dependency-injection

是否有一种优雅的方式在ActionFilterAttribute中实现以下内容。

_provider = new DetailsProvider(new DetailsService(new CachingService()))

正如您所看到的,这看起来不太好。我想要摆脱的是“新的”#39;这些具体的课程。

有一个不错的选择吗?

1 个答案:

答案 0 :(得分:0)

我用

解决了这个问题
public HandlerAttribute() :
        this(DependencyResolver.Current.GetService<IDetailsProvider>()) { }

public HandlerAttribute(IDetailsProvider detailsProvider)
{
    _detailsProvider = detailsProvider;
}

我正在使用SimpleInjector,但这是可以互换的,因为我正在使用解析器。

您可以使用任何容器,使用接口方法获取具体类的实例。