Utilizzo un ApiController che utilizza la classe HttpConfiguration globale per specificare le impostazioni di JsonFormatter. Posso impostare globalmente le impostazioni di serializzazione come segue molto facilmente:Impostazioni serializzatore Json.NET personalizzate per tipo
config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
Il problema è che non tutte le impostazioni si applicano a tutti i tipi nel mio progetto. Voglio specificare le opzioni TypeNameHandling e Binder personalizzate per tipi specifici che eseguono la serializzazione polimorfica.
Come è possibile specificare JsonFormatter.SerializationSettings su un tipo o almeno su base per-ApiController?
Per config basato apicontroller, si può dare un'occhiata alla funzione di configurazione per-regolatore: http : //blogs.msdn.com/b/jmstall/archive/2012/05/11/per-controller-configuration-in-webapi.aspx. questo post è vecchio, ma la maggior parte delle cose dovrebbe essere rilevante anche per gli ultimi bit. –
Ho provato a utilizzare la configurazione per controller utilizzando l'attributo IControllerConfiguration come suggerito. Le impostazioni che sto specificando nella funzione Initialize per JsonFormatter vengono effettivamente riutilizzate dalle richieste e vengono applicate ad altri controller. Ho applicato l'attributo solo a un controller particolare. Questo sembra un bug. –