.net请求浏览器版本中的不一致

时间:2015-01-29 11:30:13

标签: c# .net google-chrome httpwebrequest

我创建了一个空的c#网站,其中只有一个页面包含Request.Browser.Version& UserAgent输出就可以了。然后使用" User-Agent Switcher"用不同的Chrome版本点击它。 Chrome扩展程序。

虽然Request.UserAgent是正确的,但Request.Browser.Version似乎返回了错误的值:

" Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 41.0.2272.16 Safari / 537.36"返回Request.Browser.Version:39

" Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 39.0.2272.16 Safari / 537.36"返回Request.Browser.Version:41

1 个答案:

答案 0 :(得分:2)

是的,.net 4.5通过其前64个字符缓存用户代理。而这只是在版本号之前得到它们。因此,具有相同浏览器但具有不同版本的下一个用户将获得错误的浏览器版本等等。

要解决它只需更改:browserCaps userAgentCacheKeyLength =“...”,如下所示: .Net 4.0 website cannot identify some AppleWebKit based browsers

这个愚蠢的微软错误怎么不在头条新闻上?