google-chrome - Chrome 和 Edge 的一个非常奇怪的行为,但不是 IE
问题描述
我们在本地部署 Azure DevOps Server 2020。而且我注意到我不能同时在不同的 Chrome 选项卡中打开多个 Azure DevOps 版本。也就是说,这就是我正在做的事情:
- 导航到 Azure DevOps 构建并等待所有详细信息都加载完毕。
- 对另一个构建重复步骤 (1)
我注意到的是,在 5-1 个选项卡之后(有时我很高兴拥有 5 个完全加载的选项卡,有时我不能超过 1 个),没有新的选项卡能够加载构建详细信息。我以构建为例,可以是 PR 或其他屏幕。
起初我以为我们在服务器上有一些并发限制,但我们没有。IIS 和为请求提供服务的 Sql Server 都没有定义任何并发限制。但是后来,我发现了一个更奇怪的事情——这个并发限制存在于 Chrome 和 Edge 中,但不存在 IE!
我不想让 IE 成为我的默认浏览器,我宁愿保留 Chrome。但这让我发疯。
我目前的理论是它必须与信号器有关。Azure DevOps frondend 使用某种信号器实现。也许 Chrome 和 Edge 太“先进”而无法正确处理?或者,也许 IE 根本不处理它,因此 Azure DevOps 服务器回退到 IE 支持的东西,因此没有遇到限制?
我在这里很迷茫,不知道如何进一步排除故障。有任何想法吗?
编辑 1
对从 chrome 与 IE 访问的 URL 的初步检查显示信号器 url 存在差异:
- IE:传输=webSockets
- Chrome:传输=serverSentEvents
这对任何人都有意义吗?这种差异能否解释为什么 Chrome 无法打开服务于 Azure DevOps Server 2020 网页的 1-5 个(有时会在晚上发生 1 个)选项卡?
编辑 2
目前限制是 6。我在同一个版本上打开了 6 个选项卡,第 7 个正在挂起。浏览器中的网络选项卡显示它被卡在第一个服务器端请求上http://theserver:8080/tfs/DefaultCollection/SharpTop/_build/results?buildId=1184073&view=logs&j=ca395085-040a-526b-2ce8-bdc85f692774
。完全没有反应。但是,如果我关闭其他 6 个选项卡中的任何一个,它将立即加载。
编辑 3
发布在 MSFT 开发社区网站上 - https://developercommunity.visualstudio.com/t/unable-to-load-more-then-6-sometimes-less-tabs-of/1466416
解决方案
您好,可能是支持的浏览器的一些产品问题,以及有关如何处理 http/https 的策略/配置,建议您在 Azure DevOps 开发人员社区中打开问题,MS PG/支持团队可以深入反馈您。
类似的已打开Azure DevOps Server 未正确加载,与您在此处的描述接近。
推荐阅读
- reactjs - ReactJS 钩子。TypeError: Object(...) 不是函数
- nestjs - 如何让 websockets 与 NestJS 一起工作
- swift - 这意味着什么:“线程 1:”-[First_App.ProximitySensorViewControllerproximityChanged:]:无法识别的选择器发送到实例 0x14d707940“”
- java - 无法创建 HttpSolrClient
- php - Laravel - 将 DB::raw 的结果转换为字符串数组?
- c# - WithMaxRetry 图形 API 时间跨度和 MaxRetry
- python - 调用随机失败的外部 API
- c# - 将实体框架 DbSet 对象绑定到 DevExpres xtrareports
- data-distribution-service - 发送大尺寸数据导致`DDS_OctetsPlugin_serialize:值长度不能大于分配大小`
- angular - 无法在 Angular 上创建新项目