2012-03-26 21 views
3

新しいASP.NET Web APIの言語(Accept-Languageヘッダー)に基づいてコンテンツネゴシエーションをサポートする最適な方法は何ですか?asp.net web.apiの言語に基づくコンテンツネゴシエーション

新しいAPIは、メディアタイプ(here参照)によるコンテンツネゴシエーションをサポートする優れた方法を持っていますが、言語ヘッダーに基づいてコンテンツの否定を行う方法についてのポインタを見つけることができませんでした。

おかげ

答えて

0

あなたはヘッダを検査し、カスタムフォーマッタを交渉することができますタイプに一致するように受け入れるヘッダーを変更するためにMessageHandlerのを使用することができます。

1

FormatterSelectorに直接電話して、自分が何をしたいのかを知ることができます。 @AlexanderZeitlerが指摘しているように、HttpMessageHandlerはおそらくサイトレベルでこれを行うのに最適です。 には、FormatterSelectorで作業する簡単な形式があります。

これは、将来のリリースで新しい拡張性のポイントになることを願っています。

0

web.configのグローバリゼーション要素でset UICultureとCultureをautoに設定すると、ASP.NetはAccept-Languageヘッダーに基づいてCurrentThread.CurrentUICultureとCurrentThread.CurrentCultureを自動的に設定します。

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