我创建了一个空的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
最佳答案
因此,.net 4.5按其前64个字符对用户代理进行了缓存。这只是在版本号之前获取它们。因此,具有相同浏览器但版本不同的下一个用户将获得错误的浏览器版本,依此类推。
要解决该问题,只需更改:browserCaps userAgentCacheKeyLength =“ ...”,如下所示:
.Net 4.0 website cannot identify some AppleWebKit based browsers
这个愚蠢的Microsoft错误在头条新闻中是怎么回事?