在WebService中使用c#HttpClient调用其他WebServices

时间:2016-07-28 16:53:27

标签: c# .net httpclient dotnet-httpclient wcf-rest

我正在编写一个RESTful WebServiceA。为了处理客户端的请求,它应该调用WebServiceB或WebServiceC或WebServiceD。我正在考虑在WebServiceA中使用HttpClient来使用PostAsync()方法调用其他服务。

有很多文章说应该在应用程序的生命周期内尽可能多地重用HttpClient,但这些文章似乎与桌面应用程序有关。

假设Client1将调用WebServiceA并且他的调用被转发到WebServiceB,同时Client2调用并且他的调用使用相同的静态HttpClient对象转发到WebServiceC。这个对象是否会正确地并行处理请求,并且这个对象的方法在给定的上下文中是否是线程安全的?

出于测试目的,我在WebServiceA中创建了一个静态HttpClient对象,并从控制台app并行调用了WebServiceA的方法。到目前为止似乎工作正常。但是我仍然不确定是否要使用静态HttpClient,或者每次调用都要创建和配置好旧的HttpWebRequest / Response对象。您的建议将受到高度赞赏。

0 个答案:

没有答案