【问题标题】:Does Microsoft Browser Link work for API projects?Microsoft 浏览器链接是否适用于 API 项目?
【发布时间】:2021-02-12 14:51:53
【问题描述】:
我在一个 ASP.NET Core 3.1 API 项目和一个 ASP.NET Core 5.0 API 项目上安装了 Microsoft.VisualStudio.Web.BrowserLink 和 Microsoft.VisualStudio.Web.BrowserLink.Loader(分开,而不是一起)。在每个应用程序中,即使我从浏览器链接仪表板打开浏览器,浏览器链接也会被禁用。这不适用于 API 项目吗?我正在使用 Visual Studio 2019 社区版。
【问题讨论】:
标签:
asp.net-core-webapi
visual-studio-2019
asp.net-core-3.1
asp.net-core-5.0
【解决方案1】:
首先,Visual Studio 中默认禁用浏览器链接。使用前请记得先启用。
其次,查看Microsoft Browser Link works:
Browser Link 使用 SignalR 在
Visual Studio 和浏览器。启用浏览器链接时,Visual
Studio 充当多个客户端(浏览器)可以使用的 SignalR 服务器
连接至。 Browser Link 还在
ASP.NET Core 请求管道。这个组件注入了特殊的<script>
对来自服务器的每个页面请求的引用。你可以看到
通过在浏览器中选择 查看源代码 和
滚动到<body>标签内容的末尾:
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"requestId":"a717d5a07c1741949a7cefd6fa2bad08","requestMappingFromServer":false}
</script>
<script type="text/javascript" src="http://localhost:54139/b6e36e429d034f578ebccd6a79bf19bf/browserLink" async="async"></script>
<!-- End Browser Link -->
</body>
对于 WebAPI 应用程序,因为它不返回带有上述 <script> 脚本的网页。浏览器链接无法检测到 Web API 返回数据。因此,在浏览器链接仪表板中,API 应用程序一直显示“没有当前连接”并且 Microsoft 浏览器链接不适用于 API 项目(您也可以单击仪表板中的“在浏览器中查看”,它将返回一个带有 404 的网页错误)。
要使用 Microsoft Browser Links,您可以尝试将应用程序更改为 ASP.NET Core Razor Pages 或 MVC 项目,然后,结果如下: