Blazor 服务器托管:为什么我在调试时看不到任何网络请求?

Ali*_*aaa 9 blazor blazor-server-side

我已经开始学习 Blazor 了。我在 VS 2019 上创建一个新的“Blazor Server App”项目,创建后,只需单击“调试”,我的项目就可以正常运行。默认模板有一个“获取数据”页面,该页面具有从服务器端检索数据的逻辑:

forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

我添加了一个按钮来刷新服务器数据:

<button class="btn btn-primary" @onclick="OnInitializedAsync">Refresh</button>
Run Code Online (Sandbox Code Playgroud)

我已经打开 Chrome 检查器并观察任何网络活动。但是,当我在页面上移动或单击“刷新”按钮时,所有逻辑都工作正常,但我没有看到任何新的网络活动。仅在第一次打开页面时才会发生 WebSocket 连接。
Blazor 文档说它使用 WebSockets 通过 SignalR 进行通信,但我没有看到任何内容。
您能描述一下吗?

Sti*_*gar 15

不仅是数据获取,而且每次交互都会发送到服务器。消息通过网络套接字发送,而不是通过单独的网络请求。请注意,数据的获取发生在服务器上。在这种情况下,Blazor 并不关心您如何获取数据,从 Blazor 的角度来看,每次交互都是一条网络消息(通过 Web 套接字),而 HTML 响应则是另一条消息。如果您请求数据或只是更改 CSS 类,则与您将看到的消息数量无关 在此输入图像描述