2012-03-26 10 views
3

Was ist der beste Weg zur Unterstützung der Inhalt Verhandlung basierend auf Sprache (Accept-Language-Header) in der neuen ASP.NET Web API?Inhalt Verhandlung basierend auf Sprache in asp.net web.api

Die neue API unterstützt die Inhaltsverhandlung nach Medientypen (siehe), aber ich konnte keinen Hinweis darauf finden, wie wir die Inhaltsnegierung basierend auf dem Sprachenheader durchführen könnten.

Dank

Antwort

0

Sie könnten einen Message verwenden, um die Header zu inspizieren und den Header akzeptieren ändern kann einen Typ Ihre benutzerdefinierten Formatierer verhandeln lassen.

1

Sie können die FormatterSelector direkt anrufen, um zu wissen, was Sie tun möchten. Ein , wie @AlexanderZeitler angemerkt, ist wahrscheinlich am besten für diese auf einer Site-Ebene zu tun. Sie können eine einfache Form der Arbeit mit der FormatterSelector in WebApiContrib sehen.

Hoffentlich wird dies ein neuer Erweiterungspunkt in einer zukünftigen Version werden.

0

Wenn Sie UICulture und Culture im globalisation-Element in web.config auf auto setzen, legt ASP.Net automatisch CurrentThread.CurrentUICulture und CurrentThread.CurrentCulture basierend auf dem Accept-Language-Header fest.

<system.web> 
    <globalization uiCulture="auto" culture="auto"/> 
    </system.web> 
Verwandte Themen