将自定义ValueProviderFactories添加到ASP.NET MVC3?

前端之家收集整理的这篇文章主要介绍了将自定义ValueProviderFactories添加到ASP.NET MVC3?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想尝试将一个Protobuf ValueProviderFactory添加到MVC3,以便我可以选择MIME类型并将原始数据反序列化为对象以获取操作参数.我也可以使用它来更改默认的Json序列化程序.

看看JsonValueProviderFactory.cs这不应该太难,但工厂似乎都是硬编码的.

对于Protobuf我可以用IValueProvider做一些事情,但我还没有检查MVC3在收到MIME类型的application / x-protobuf时做了什么.

我是以正确的方式来做这件事的吗?

UPDATE

我找到了this篇关于创建IValueProvider的博客文章.然后它在底部提到这改变了MCV2.他将其更改为ValueProviderFactory并调用

ValueProviderFactories.Factories.Add(new HttpCookieValueProviderFactory());

但在MVC3中,此属性是只读的.

解决方法

事实证明它不是只读的,您可以按如下方式添加提供者:
ValueProviderFactories.Factories.Add(new MyValueProviderFactory());

如果我检查过自己,我会知道这个!

我今天做了一些搜索,this博文似乎暗示DependencyResolver会找到任何继承ValueProviderFactory的类.我正在使用MEF进行依赖项解析,因此我只需添加一个Export属性即可自动获取.

我现在有一个further issue为protobuf-net编写自定义ValueProviderFactory.

猜你在找的asp.Net相关文章