服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

移到Asp.Net 4.0后,HttpBrowserCapabilities呈片状

在IIS6上将站点升级到asp.net 4.0后,我们发现有些Safari浏览器偶尔会出现问题。 我已经将其追溯到Asp.net的HttpBrowserCapabilities中的一个不正确的浏览器检测。 有时候用EcmaScriptVersion == 0.0检测Safari浏览器为“mozilla”。 令人沮丧的是,这是来来往往 – 有时是有效的,有时却不行。 具有特定用户代理的浏览器将工作一段时间,停止工作一段时间,然后再工作一段时间。 一个用户代理程序不能正常工作的例子是:“User Agent = Mozilla / 5.0(Macintosh; U; Intel Mac OS X 10_5_8; en-us)AppleWebKit / 534.52.7(KHTML,像Gecko)版本/ 5.0.6 Safari / 533.22.2“ 烦人的是,浏览器检测在我们所有的非生产服务器上正常工作。 我比较了不同服务器上的Config / Browsers / *。browser文件,它们是相同的。 考虑到configuration可能只是caching在asp.net框架的某个地方,我也从4.0安装运行“aspnet_regbrowsers.exe -i”。 这没有任何作用。 无论浏览器是否刷新了caching,这似乎都会发生 – 即使浏览器从未见过该站点,也会遇到此问题。 我也重新启动了几次IIS。 没有重新启动,我想不出别的办法。 任何想法可能导致这个? 编辑:2012年1月19日 我花了好几天的时间试图找出这个问题失败的原因。 它在我看来也许它与应用程序池有关,因为一些应用程序池正在返回正确的值,但有些不。 当我将一个错误的web应用程序从一个应用程序池移动到另一个应用程序池时,它有时会暂时工作,直到第二天它不再工作。 我的猜测是,游泳池有一些线程是腐败的,但我似乎无法清除它们。 这个间歇性的问题在回收池,停止和重启iis以及重新启动系统时仍然存在。 如果您使用Safari浏览器访问http://www.industrymailout.com/Industry/Capability.aspx ,您可以看到UserAgents会显示为“Browser = Mozilla”,并显示为“Browser = […]