使用 MVC Turbine 时在哪里通过 DI 设置 ModelMetadataprovider?

发布于 2024-09-11 10:17:59 字数 282 浏览 6 评论 0原文

要使用您自己的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

厌倦 2024-09-18 10:17:59

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

因此,您所要做的就是向容器注册 MyModelMetadataProvider,

container.Register<ModelMetadataProvider, 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

container.Register<ModelMetadataProvider, MyModelMetadataProvider>()

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!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文