首页 文章

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

提问于
浏览
2

我创建了一个空的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 回答

  • 2

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

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

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

相关问题