我从MS documentation知道Request.UserLanguages
数组已“排序”。他们没有说的是数组是按优先级还是按字母顺序排序。
例如,如果我的Accept-Languages标题如下所示:
Accept-Language: gr, en-gb;q=0.8, en;q=0.7
优先级排序为“gr”,值为1,后跟“en-gb”,值为0.8,然后“en”为0.7。
字母排序将是“en”,“en-gb”,“gr”。
我无法弄清楚如何测试这个。有什么想法吗?
答案 0 :(得分:3)
Accept-Language 标题中项目显示(以逗号分隔)的顺序是它们将出现在 UserLanguages 属性中的顺序。 “; q = xx”部分未经特殊处理。您可以使用Fiddler之类的工具对服务器提交任意Accept-Language标头并查看UserLanguages属性的结果来对此进行测试。
如果您想查看HttpRequest.UserLanguages的特定实现,可以查看related .NET Framework source code。