サーバーからの応答メッセージを確認することはできますか?その場合、例を投稿できますか?
これを使用して、「エラー」トーストをその場で配置しようとしているので、リクエストがエラーを返すタイミングを確認できる必要があります。
ありがとう!
1つの解決策は、SendAsyncメソッドを次のように変更することです。
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = null;
try
{
BeforeSend?.Invoke(this, request);
response = await (SendAsyncMethod.Invoke(Handler, new object[] { request, cancellationToken }) as Task<HttpResponseMessage>);
return response;
}
finally
{
AfterSend?.Invoke(this, response);
}
}
とイベントハンドラーに
/// <summary>
/// Occurs before a HTTP request sending.
/// </summary>
public event EventHandler<HttpRequestMessage> BeforeSend;
/// <summary>
/// Occurs after received a response of a HTTP request. (include it wasn't succeeded.)
/// </summary>
public event EventHandler<HttpResponseMessage> AfterSend;
私はこの提案を受けました。 そもそもSortaはそうあるべきだと思います。 EventArgs e
の有用性を理解していない限り、このインターセプターを大幅に有用にします
素晴らしいフィードバックをありがとう! 👍
@khamangが提案した新機能を含む「BlazorWebAssembly(クライアント側)HttpClientインターセプター」v.6.1.0を公開しました。
参照: https ://github.com/jsakamoto/Toolbelt.Blazor.HttpClientInterceptor/#the -arguments-of-event-handler
だからこれは修正する必要がありますか? AfterSendの応答コンテンツにアクセスしたい場合でも、エラーが発生します。
それは、http.PostAsyncがロックされているために本体にアクセスできないようにするサービスで述べています
@TheSwerikご報告ありがとうございます。
だからこれは修正する必要がありますか? それでもエラーが発生します...
このスレッドはエラーレポートではなく、新機能の提案スレッドです。
あなたが今報告した問題があるとは知りませんでした。
後でその問題を再現しようとします。再現できれば修正しようとします。
ああ、これはここに当てはまると思いました。新しい、より詳細な問題を作成します
@TheSwerikありがとう!