Es gibt etwas, was ich im Web nicht liebe. Das ist HTML, CSS Layouts, JavaScript und die Browser. OMG
Wenn man mit Chrome und IE einen ASP.NET Web API Service aufruft, erhält man unterschiedliche Ergebnisse.
Einmal JSON und einmal XML.
Der Grund ist, das beide Browser sich wie immer nicht einig sind und unterschiedliche Header losschicken. Im Chrome kommt vor
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8.
Deswegen denkt der Service, das Chrome wohl lieber XML hat.
Allerdings kann man in die Formater eingreifen. Eigentlich eher um selbst neue zu schreiben, aber auch um einen rauszuwerfen. Hier wird in der Global.asax eine Methode RegisterAPIs aufgerufen und dort der XMLFormater entfernt. Dann erhält auch Chrome JSON als default Format.
Sub Application_Start()
AreaRegistration.RegisterAllAreas()
RegisterGlobalFilters(GlobalFilters.Filters)
RegisterRoutes(RouteTable.Routes)
RegisterApis(GlobalConfiguration.Configuration)
BundleTable.Bundles.RegisterTemplateBundles()
End Sub
Private Sub RegisterApis(httpConfiguration As HttpConfiguration)
Dim f = GlobalConfiguration.Configuration.Formatters
f.Remove(f.XmlFormatter)
End Sub