首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用MVC Turbine时,在哪里设置DI的ModelMetadataprovider?

当使用MVC Turbine时,在哪里设置DI的ModelMetadataprovider?
EN

Stack Overflow用户
提问于 2010-07-28 22:39:09
回答 1查看 653关注 0票数 0

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

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

如下所示:

代码语言:javascript
复制
ModelMetadataProviders.Current = new MyModelMetadataProvider(ISomeDependency);

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-28 22:55:17

放置这些片段的最佳位置是覆盖web应用程序中的Startup方法(从TurbineApplication继承的类型)。我们目前正在努力使这些MVC2特性在v2.2中变得更容易,因为我们引入了一个ModelMetadataBlade,它将为您完成连接到ModelMetadataProvider.Current属性的所有工作。

因此,您需要做的就是将MyModelMetadataProvider注册到容器中,如下所示

代码语言:javascript
复制
container.Register<ModelMetadataProvider, MyModelMetadataProvider>()

然后MVC Turbine将为您完成其余的工作。要了解我所说的内容,请查看we're wiring up ModelValidatorProviders的方式。ModelValidatorBlade向ServiceLocator请求所有已注册的ModelValidatorProvider,并将它们与运行时连接起来。

如果你有任何反馈或想法,你能把它们发布到Google Group上吗?试着把这些东西组织起来:)

谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3353977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档