1

我正在尝试创建一个自定义消息处理程序,该处理程序将Authorization标头添加到由HttpClient. 为了计算此标头的值,请求的路径(包括查询参数)必须与请求的主体(内容类型必须为application/x-www-form-urlencoded)连接。

由于我的用例对延迟非常敏感,我想知道下面的代码是否是最有效/最快的方法?或者可以改进吗?特别是,有没有更好的替代方法ReadAsStringAsync来获取表单数据?

class AuthorizationHandler : DelegatingHandler
{
    protected override async Task<HttpResponseMessage> SendAsync(
        HttpRequestMessage request,
        CancellationToken cancellationToken)
    {
        var path = request.RequestUri.PathAndQuery;
        var content = await request.Content.ReadAsStringAsync(cancellationToken);
        // TODO: create "Authorization" header
        return await base.SendAsync(request, cancellationToken);
    }
}
4

0 回答 0