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)到一個類似的問題,可能會幫助你。 –