Blazor 网站卡在加载屏幕上,无法进行异步调用
我有一个服务器端Blazor Webapp,带有一个异步REST请求。我在请求过程中使用加载屏幕,该屏幕运行良好,在本地计算机上没有任何问题,但在在线应用程序上,当我多次发出相同的请求时,它有时会在加载过程中卡住。我不知道这是什么问题 代码如下:Blazor 网站卡在加载屏幕上,无法进行异步调用,blazor,blazor-server-side,Blazor,Blazor Server Side,我有一个服务器端Blazor Webapp,带有一个异步REST请求。我在请求过程中使用加载屏幕,该屏幕运行良好,在本地计算机上没有任何问题,但在在线应用程序上,当我多次发出相同的请求时,它有时会在加载过程中卡住。我不知道这是什么问题 代码如下: private async Task MakeRequest(ChangeEventArgs e) { if (e.Value != null) { AppState.IsBusy = true; Li
private async Task MakeRequest(ChangeEventArgs e)
{
if (e.Value != null)
{
AppState.IsBusy = true;
List.Clear();
foreach (var type in GetTypes())
{
var (result, error) = await Utility.GetDataAsync(e.Value, type);
if (error.HasValue)
{
AppState.ErrorShow = true;
break;
}
else
{
List.AddRange(result);
}
}
AppState.IsBusy = false;
}
}
AppState
是一个作用域服务,用于保存应用程序的状态。如果IsBusy
更改,我将调用NotifyStateChanged()
,调用页面上的StateHasChanged()
Utility.GetDataAsync()
是进行重新请求并解析结果的方法:
public static async Task<(List<string>, Error?)> GetModelle(string buildYear, string brand, string type)
{
Error? error = null;
var client = new RestClient("");
var request = new RestRequest("", Method.GET);
var response = await client.ExecuteAsync(request);
using (JsonDocument document = JsonDocument.Parse(response.Content))
{
try
{
.. parse result ...
}
catch (Exception ex)
{
error = new Error();
}
}
return (list, error);
}
接
Time 6:35:28 PM
Duration 2.24 sec
Outgoing Command GET /commons-dispatcher/services/eurotax/domain
Result code Faulted
AspNetCoreEnvironment Production
Error Received an invalid status code: 'Con'.
_MS.ProcessedByMetricExtractors (Name:'Dependencies', Ver:'1.1')
#########/commons-dispatcher/services/eurotax/domain?&domainType=vehicleBrand&buildYear=2011&propertyType=KFZP10
这里的问题是什么?看起来像是“连接被拒绝”,在某个地方它被削减为“con”。是的,我认为你是对的,错误消息应该是“连接被拒绝”。我尝试了我能想到的一切,我的猜测是,我向其发出请求的服务器激活了一个安全功能,当我打几个电话时,该功能会阻止我一段时间。我就这个问题联系了另一方,希望他们能自己解决。try/catch的工作原理是,我的网站不会被卡住,但我在一段时间内无法再提出进一步的请求。所以,我想我在这里做不了什么。我得到了服务运营商的回复,他说该服务仅供内部使用(哎哟
Time 6:35:28 PM
Exception type System.Net.Http.HttpRequestException
Exception message Received an invalid status code: 'Con'.
AspNetCoreEnvironment Production
System.Net.Http.HttpRequestException: Received an invalid status code: 'Con'.
at System.Net.Http.HttpConnection.ParseStatusLine(Span`1 line, HttpResponseMessage response)
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
Time 6:35:28 PM
Duration 2.24 sec
Outgoing Command GET /commons-dispatcher/services/eurotax/domain
Result code Faulted
AspNetCoreEnvironment Production
Error Received an invalid status code: 'Con'.
_MS.ProcessedByMetricExtractors (Name:'Dependencies', Ver:'1.1')
#########/commons-dispatcher/services/eurotax/domain?&domainType=vehicleBrand&buildYear=2011&propertyType=KFZP10