Blazor 在小屏幕上有 HttpClient 问题

问题描述 投票:0回答:0

我试了很多次,每次都是一样的结果。 如果您在 blazor 中使用 HttpClient 查询端点,它在桌面上时在浏览器中工作正常。但是,如果您使用 F12 缩小它并按下移动选项卡(以模拟移动屏幕),则会出现更多的性能问题。 如果您查询桌面大小,则查询采用:~00:00:00.3840000 如果您查询 Mobile Size,则查询采用:~00:00:08.4588000 但是,只有当您使用 F12 或在物理设备上运行它时才会出现这种情况。如果您只是更改窗口的大小,那么它不会导致问题。在获取查询时,如果您按刷新,它将产生此错误...

我第一次注意到这个问题是在我有一个项目要通过 Maui 的 WebView 显示时。加载带有预期项目的应用程序会导致页面崩溃并出现无法获取错误。我认为 WebView 是问题所在。但是我切换到 Blazor Maui 并通过 iFrame 完成了....同样的问题。 然后我尝试在 HTML 文件中使用 Iframe 并在浏览器中本地加载 HTML 文件,然后注意到问题似乎发生了,与移动设备有关?

blazor.webassembly.js:1 crit:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] Unhandled
exception rendering component: TypeError: Failed to fetch
System.Net.Http.HttpRequestException: TypeError: Failed to fetch ---> TypeError: Failed 
to fetch --- End of inner exception stack trace --- at 
System.Net.Http.BrowserHttpInterop. 
<CancelationHelper>d__131[[System.Runtime.InteropServices.JavaScript.JSObject, 
System.Runtime.InteropServices.JavaScript, Version=7.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a]].MoveNext() at 
System.Net.Http.BrowserHttpHandler.CallFetch(HttpRequestMessage request, 
CancellationToken cancellationToken, Nullable1 allowAutoRedirect) at 
System.Net.Http.BrowserHttpHandler.<SendAsync>g__Impl|55_0(HttpRequestMessage request, 
CancellationToken cancellationToken, Nullable1 allowAutoRedirect)
at System.Net.Http.HttpClient.g__Core|83_0(HttpRequestMessage request, 
HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, 
CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at BlazorApp4.Client.Pages.FetchData.OnInitializedAsync() in 
C:\Users\lewis\Desktop\BlazorApp4\BlazorApp4\Client\Pages\FetchData.razor:line 19
at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task 
taskToHandle, ComponentState owningComponentState)

请在此处查看我的示例项目的回购协议,以便您复制该问题。 fetch 方法在 FetchData 视图上。 https://github.com/LewisEKay/BlazorHttpClientErrorExample

Blazor 是从 Nuget 撰写本文时的最新版本 在 Blazor WASM 中试用 在 Chrome 和 Firefox 中尝试过,Chrome 似乎导致问题更多

blazor blazor-webassembly dotnet-httpclient
© www.soinside.com 2019 - 2024. All rights reserved.