要使用您自己的 ModelMetadataProvider,您通常在 global.asax 中设置它。
我正在使用 MVC Turbine,我还需要将依赖项注入到我的 ModelMetadataProvider 中。
像这样的东西:
ModelMetadataProviders.Current = new MyModelMetadataProvider(ISomeDependency);
如何使用 MVC Turbine 最好地实现这一点?
要使用您自己的 ModelMetadataProvider,您通常在 global.asax 中设置它。
我正在使用 MVC Turbine,我还需要将依赖项注入到我的 ModelMetadataProvider 中。
像这样的东西:
ModelMetadataProviders.Current = new MyModelMetadataProvider(ISomeDependency);
如何使用 MVC Turbine 最好地实现这一点?
放置这些部分的最佳位置是在您的 Web 应用程序(继承自 TurbineApplication 的类型)中覆盖 Startup 方法。我们目前正致力于通过引入一个 ModelMetadataBlade 来简化 v2.2 中的这些 MVC2 功能,该模型将为您完成与 ModelMetadataProvider.Current 属性的所有连接。
所以你所要做的就是像这样在容器中注册 MyModelMetadataProvider
container.Register<ModelMetadataProvider, MyModelMetadataProvider>()
然后 MVC Turbine 将为您完成剩下的工作。要了解我在说什么,请查看我们连接 ModelValidatorProviders的方式。ModelValidatorBlade 向 ServiceLocator 询问所有已注册的 ModelValidatorProvider 并将它们与运行时连接起来。
如果您有任何反馈或想法,可以将它们发布到Google Group吗?试图让这些事情井井有条:)
谢谢!