0

要使用您自己的 ModelMetadataProvider,您通常在 global.asax 中设置它。

我正在使用 MVC Turbine,我还需要将依赖项注入到我的 ModelMetadataProvider 中。

像这样的东西:

ModelMetadataProviders.Current = new MyModelMetadataProvider(ISomeDependency);

如何使用 MVC Turbine 最好地实现这一点?

4

1 回答 1

0

放置这些部分的最佳位置是在您的 Web 应用程序(继承自 TurbineApplication 的类型)中覆盖 Startup 方法。我们目前正致力于通过引入一个 ModelMetadataBlade 来简化 v2.2 中的这些 MVC2 功能,该模型将为您完成与 ModelMetadataProvider.Current 属性的所有连接。

所以你所要做的就是像这样在容器中注册 MyModelMetadataProvider

container.Register<ModelMetadataProvider, MyModelMetadataProvider>()

然后 MVC Turbine 将为您完成剩下的工作。要了解我在说什么,请查看我们连接 ModelValidatorProviders的方式。ModelValidatorBlade 向 ServiceLocator 询问所有已注册的 ModelValidatorProvider 并将它们与运行时连接起来。

如果您有任何反馈或想法,可以将它们发布到Google Group吗?试图让这些事情井井有条:)

谢谢!

于 2010-07-28T14:55:16.577 回答