2012-03-26 55 views
3

在新的ASP.NET web api中支持基于语言(Accept-Language头文件)的内容协商的最佳方式是什么?基于asp.net语言的内容协商web.api

新的API有一个很好的方式来支持媒体类型的内容协商(请参阅here),但是我找不到指示我们如何根据语言标题做内容否定。

感谢

回答

0

你可以使用的MessageHandler检查页眉和改变接受头匹配一个类型的自定义格式可以协商。

1

您可以直接致电FormatterSelector以帮助它知道您希望它做什么。正如@AlexanderZeitler指出的那样,HttpMessageHandler可能最适合在网站级别执行此操作。您可以在WebApiContrib中看到FormatterSelector的简单形式。

希望这将成为未来版本中的一个新的可扩展性点。

0

如果将set UICulture和Culture设置为在web.config中的全球化元素中自动运行,则ASP.Net将根据Accept-Language头自动设置CurrentThread.CurrentUICulture和CurrentThread.CurrentCulture。

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