2
我试图通过Unity(mvc5)在actionfilter中注入此用户服务,但它为空。我怎样才能实现这个?在ActionFilter中实现Unity MVC 5依赖注入
3210我试图通过Unity(mvc5)在actionfilter中注入此用户服务,但它为空。我怎样才能实现这个?在ActionFilter中实现Unity MVC 5依赖注入
3210您必须注册UnityFilterAttributeFilterProvider
为FilterProvider
第一。
修改App_Start
>UnityMvcActivator
的启动方法是这样的:
public static void Start()
{
var container = UnityConfig.GetConfiguredContainer();
FilterProviders.Providers.Remove(FilterProviders.Providers.OfType<FilterAttributeFilterProvider>().First());
FilterProviders.Providers.Add(new UnityFilterAttributeFilterProvider(container));
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(typeof(UnityPerRequestHttpModule));
}
如果你找不到方法。您可能安装了错误或过期的软件包。考虑在软件包管理器控制台上安装Install-Package Unity.Mvc
。
你在'FilterProviders'上注册了'UnityFilterAttributeFilterProvider'吗? –
嗨,山姆不,我没有,我该怎么办? – Pod
这是一个[解释和建议](http://stackoverflow.com/a/31696909/1062224)到一个类似的问题,可能会帮助你。 –