2011-07-30 12 views
8

私は、MIMEタイプを選ぶと、アクションパラメータのためのオブジェクトに生データをデシリアライズすることができるようにMVC3にいるProtobuf ValueProviderFactoryを試してみて、追加するために探していました。私はこれを使ってデフォルトのJsonシリアライザを変更することもできます。 JsonValueProviderFactory.csこの見れASP.NET MVC3にカスタムValueProviderFactoriesを追加しますか?

はあまりにも難しいことではないはずですが、工場すべてがハードコーディングされたように見えます。

私はIValueProviderで何かできるかもしれませんが、application/x-protobufのMIMEタイプを受け取ったときにMVC3が何をしているかはまだ確認していません。

これは正しい方法ですか?

UPDATE

私はIValueProviderの作成について語っthisブログの記事を見つけました。それは、MCV2の周りでこれが変わったということを底に述べています。彼はValueProviderFactoryにそれを変更し、呼び出します。

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

しかしMVC3でこのプロパティは読み取り専用です。

+1

興味深いです。私はここでMVCが何をするのか分からないので、私は好奇心でこの質問に従います。 –

答えて

2

それは読み取り専用と次のようにプロバイダーを追加することができないことが判明:

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

私はこれは私が自分自身をチェックしていた知っているだろう!

私は今日、いくつかのより多くの検索を行ってきた、とthisブログ記事はDependencyResolverValueProviderFactoryを継承するすべてのクラスを見つけることを示唆しているようです。私は依存性の解決にMEFを使用しているので、エクスポート属性を追加するだけで自動的に取得されます。

私が今いるProtobufネット用のカスタムValueProviderFactoryを書いfurther issueを持っています。

+0

カスタム1 wtihスワップのようなものをデフォルトのJSONの値プロバイダーを行いたい場合にも、値プロバイダを削除することができます。 – evanmcdonnal

関連する問題