Asp.net mvc 自定义ResourceProviderFactory依赖项注入

Asp.net mvc 自定义ResourceProviderFactory依赖项注入,asp.net-mvc,dependency-injection,resourceproviderfactory,Asp.net Mvc,Dependency Injection,Resourceproviderfactory,ASP.NET MVC中是否有任何地方可以获取对ResourceProviderFactory的引用,该引用是为了执行属性注入以添加自定义DB实现以从中检索资源而实例化的 我有一个自定义资源提供程序正在加载,但我想知道是否有一种替代方法可以使用静态DI容器在提供程序中注入依赖项 类似于在MVC中为角色和成员身份提供程序注入的方式。诀窍是实现对MVC的DependencyResolver.Current的基础结构组件调用,这样您就可以使用您喜欢的DI容器注册真正的ResourceProviderF

ASP.NET MVC中是否有任何地方可以获取对ResourceProviderFactory的引用,该引用是为了执行属性注入以添加自定义DB实现以从中检索资源而实例化的

我有一个自定义资源提供程序正在加载,但我想知道是否有一种替代方法可以使用静态DI容器在提供程序中注入依赖项


类似于在MVC中为角色和成员身份提供程序注入的方式。

诀窍是实现对MVC的
DependencyResolver.Current
的基础结构组件调用,这样您就可以使用您喜欢的DI容器注册真正的
ResourceProviderFactory

下面是这样一个类,它将完成以下任务:

公共类MvcResourceProviderFactory:ResourceProviderFactory
{
公共覆盖IResourceProvider CreateGlobalResourceProvider(
字符串(类键)
{
返回GetFactory().CreateGlobalResourceProvider(classKey);
}
公共覆盖IResourceProvider CreateLocalResourceProvider(
字符串(虚拟路径)
{
返回GetFactory().CreateLocalResourceProvider(virtualPath);
}
私有静态资源提供者工厂GetFactory()
{
var resolver=DependencyResolver.Current;
var factory=resolver.GetService();
如果(工厂!=null)
{
返回工厂;
}
抛出新的InvalidOperationException(string.Format(
“没有{0}在{1}中注册。”,
typeof(ResourceProviderFactory).全名,
DependencyResolver.Current.GetType().FullName));
}
}
此类可按如下方式配置:



在回答问题时,我给了您正确的答案。我知道这种实现我所寻找的方法,但我更感兴趣的是,是否有一种替代方法来处理依赖注入,而不是使用我目前正在使用的上述方法。我已经为此奋斗了一段时间,我发现了最好的方法,好的还是坏的。。。