我正在尝试在带有 .NET 4.0 的 ASP.NET MVC 控制器中将WebRequestHandler与 HttpClient 一起使用。我已经从 NuGet 安装了最新的 HttpClient。
将 WebRequestHandler 传递给 HttpClient 时,请求永远不会完成。通过调试代理查看,来自服务器的响应只是在某个点通过响应主体被切断。似乎没有关于它在哪里切断的模式。
这是一个测试用例:
public class HomeController : Controller
{
public async Task<ActionResult> Index()
{
var handler = new WebRequestHandler();
var httpClient = new HttpClient(handler);
var google = await httpClient.GetStringAsync("http://www.google.com");
return View(google);
}
}
如果我用 HttpClientHandler 替换 WebRequestHandler 效果很好,但我需要添加一个客户端证书。
我尝试更改 WebRequestHandler 的各种设置,但无济于事。有任何想法吗?