我有一个 Web 项目(C#、MVC5 但没有 WebAPI)和一个简单的 HTTP REST 客户端,它调用外部 REST 服务并获取 accessToken 等。
我想检查我的所有 Get/PostAsync 调用对 statusCode 401 的响应,但我发现我只能SendAsync
在实现DelegatingHandler
.
class CustomDelegatingHandler : DelegatingHandler
{
async protected override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
if (response.StatusCode == HttpStatusCode.Unauthorized)
{
还有什么我可以做的,以免改变我所有异步调用的实现SendAsync
吗?
(我真正想做的是刷新 accessToken。)