1

私はMVC4RCを使用していますが、MVC4はデフォルトのJSONシリアライザー/DeSerializerとしてJSON.NETを使用していることを読みました。私はWebApiを使用しておらず、デフォルトのMVCコントローラーを使用しています。Application_Startを中断して、ValueProvidersFactoriesを参照すると、JavaScriptSerializerを内部的に使用するJSONValueProviderFactoryが見つかります。

?ValueProviderFactories.Factories Count = 6

[0]:{System.Web.Mvc.ChildActionValueProviderFactory}

[1]:{System.Web.Mvc.FormValueProviderFactory}

[2]:{System.Web.Mvc.JsonValueProviderFactory} <-

[3]:{System.Web.Mvc.RouteDataValueProviderFactory}

[4]:{System.Web.Mvc.QueryStringValueProviderFactory}

[5]:{System.Web.Mvc.HttpFileCollectionValueProviderFactory}

したがって、JSON.NETを使用するには、(ここで行うように)独自のValueProviderFactoryを作成する必要がありますか、それとも全体像に何かが欠けていますか?

4

1 に答える 1

3

したがって、JSON.NETを使用するには、(ここで行うように)独自のValueProviderFactoryを作成する必要がありますか、それとも全体像に何かが欠けていますか?

いいえ、あなたは何も見逃していません。全体像をデバッグして完全に理解しました。JSON.NETを標準のASP.NETMVCコントローラー(Web APIではない)で使用する場合は、独自のJson値プロバイダーファクトリをロールする必要があります。

于 2012-07-12T20:23:00.143 に答える