2017-08-08 9 views
2

Unsere Server laufen in Dänemark mit der Da-DK-Kultur. Wir haben in der ASP.NET WebApi-Lösung keine Kultur angegeben.WebApi verwendet Web Server-Kultur

Wenn ein Endpunkt auf dem Api mit einem Dezimalparameter aufgerufen wird, konvertiert der API automatisch in europäische Dezimalschreibweise (z. B. 100,01), was schließlich zu einem Parsingfehler führt, wenn das Dezimaltrennzeichen an eine andere API auf einem anderen Server übergeben wird .

Wie können wir unsere API zwingen, die US-Kultur und nicht die Kultur des Webservers zu nutzen?

Antwort

2

Sie müssen die Standardlokalisierung für Ihre App festlegen. Insbesondere benötigen Sie UseRequestLocalization. Dort haben Sie DefaultRequestCulture, die Sie auf Ihre Kultur einstellen möchten.

Werfen Sie einen Blick auf ref: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization#provide-localized-resources-for-the-languages-and-cultures-you-support

[UPDATE] Ich habe dich nur nicht realisiert für asp.net Kern fragen. Für Web-API können Sie Kultur auf Thread.current

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

gehen in mit der Einstellung