C# 在Windows 8应用程序中使用HttpClient进行并行HTTPRequest
我正在Windows 8应用程序中使用HttpClient发送HTTP请求和接收HTTP响应。关于同一点,我有几个问题: 1) 我可以使用单个HttpClient对象发送多个/并行HTTP请求吗?有没有一种推荐的方法可以有效地使用HttpClient对象 2) 每次创建HttpClient对象和每次新请求重复使用同一对象有什么区别 3) 我正在使用Fiddler跟踪请求和响应。我发现Fiddler中的响应时间与我在应用程序中手动计算的响应时间不同。Fiddler中请求的响应时间始终低于我的应用程序中计算的响应时间。谁能告诉我为什么会这样 4) 我遇到的另一件事是,对于每个请求,它都在进行HTTPS握手。相反,它应该只做第一次。我用小提琴手检查了一下,它在那里清晰可见。是否需要在HttpClient对象中设置任何属性来阻止每次执行此操作 5) HttpClient是否是线程安全的?1和5: : 以下方法是线程安全的:C# 在Windows 8应用程序中使用HttpClient进行并行HTTPRequest,c#,.net,windows-8,.net-4.5,dotnet-httpclient,C#,.net,Windows 8,.net 4.5,Dotnet Httpclient,我正在Windows 8应用程序中使用HttpClient发送HTTP请求和接收HTTP响应。关于同一点,我有几个问题: 1) 我可以使用单个HttpClient对象发送多个/并行HTTP请求吗?有没有一种推荐的方法可以有效地使用HttpClient对象 2) 每次创建HttpClient对象和每次新请求重复使用同一对象有什么区别 3) 我正在使用Fiddler跟踪请求和响应。我发现Fiddler中的响应时间与我在应用程序中手动计算的响应时间不同。Fiddler中请求的响应时间始终低于我的应用程
小提琴手充当代理人。您的浏览器将请求发送给Fiddler,后者将其转发给源服务器。这会增加请求时间。确保对每个异步HttpRequest使用相同的HttpClient对象,这将防止它与请求重叠(1),它们是线程安全的,但不允许同时执行多个请求。但是,当您使用*Async()变量时,只需对返回的
任务调用ContinueWith()
,即可链接多个请求。