我正在尝试创建派生类,就像这里HttpMessageHandler所做的那样。我一开始就绊倒了,到目前为止我的代码:
public class InternetClientHandler : HttpMessageHandler
{
private readonly SocketsHttpHandler _socketsHttpHandler;
public InternetClientHandler()
{
_socketsHttpHandler = new SocketsHttpHandler();
}
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
return _socketsHttpHandler.SendAsync(request, cancellationToken); //ERROR
}
}
Run Code Online (Sandbox Code Playgroud)
这是 Microsoft 实现的精确副本,HttpClientHandler但由于受保护,该方法无法编译_socketsHttpHandler.SendAsync。为什么它在 MS 的代码中有效,但在我的代码中无效?它是某种扩展方法吗?如果是这样,那么为什么 Intelli Sense 不提供帮助来插入正确的使用呢?SendAsyncSocketsHttpHandler