使用 MVC Turbine 时在哪里通过 DI 设置 ModelMetadataprovider?
要使用您自己的 ModelMetadataProvider,您通常将其设置在 global.asax 中。
我正在使用 MVC Turbine,并且还需要将依赖项注入到我的 ModelMetadataProvider 中。
像这样的事情:
ModelMetadataProviders.Current = new MyModelMetadataProvider(ISomeDependency);
如何使用 MVC Turbine 最好地实现这一点?
To use your own ModelMetadataProvider you normally set it in the global.asax.
I'm using MVC Turbine and I need to inject a dependency into my ModelMetadataProvider as well.
Something like this:
ModelMetadataProviders.Current = new MyModelMetadataProvider(ISomeDependency);
How is this best accomplished with MVC Turbine?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
放置这些部分的最佳位置是重写 Web 应用程序中的 Startup 方法(从 TurbineApplication 继承的类型)。目前,我们正在努力通过引入 ModelMetadataBlade 来简化 v2.2 中的这些 MVC2 功能,该 ModelMetadataBlade 将为您完成与 ModelMetadataProvider.Current 属性的所有连接。
因此,您所要做的就是向容器注册 MyModelMetadataProvider,
然后 MVC Turbine 将为您完成剩下的工作。要了解我在说什么,请查看 我们正在连接 ModelValidatorProviders。 ModelValidatorBlade 向 ServiceLocator 请求所有已注册的 ModelValidatorProvider 并将它们与运行时连接起来。
如果您有任何反馈或想法,可以将其发布到 Google 网上论坛吗?努力让这些事情井井有条:)
谢谢!
The best place to put these pieces is to override the Startup method within your web application (the type that inherits from TurbineApplication). We're currently working on making these MVC2 features easier in v2.2 by introducing a ModelMetadataBlade that will do all the wiring up for you to the ModelMetadataProvider.Current property.
So all you'll have to do is register MyModelMetadataProvider with the container like so
then MVC Turbine will do the rest for you. To get an idea of what I'm talking about, checkout the way we're wiring up ModelValidatorProviders. The ModelValidatorBlade asks the ServiceLocator for all the registered ModelValidatorProvider and wires them up with the runtime.
If you have any feedback or ideas, could you post them to the Google Group? Trying to keep these things organized :)
Thanks!