我正在构建一个类库来与API交互.我需要调用API并处理XML响应.我可以看到使用HttpClient
进行异步连接的好处,但是我所做的是纯同步的,所以我看不到使用HttpWebRequest
有什么显著的好处.
如果有人能透露一些情况,我将不胜感激.我不是那种为了使用新技术而使用新技术的人.
我正在构建一个类库来与API交互.我需要调用API并处理XML响应.我可以看到使用HttpClient
进行异步连接的好处,但是我所做的是纯同步的,所以我看不到使用HttpWebRequest
有什么显著的好处.
如果有人能透露一些情况,我将不胜感激.我不是那种为了使用新技术而使用新技术的人.
对于现在遇到这件事的人.NET5.0在HttpClient
中增加了一个同步Send
方法.https://github.com/dotnet/runtime/pull/34948
优点也是为什么在这里详细讨论-https://github.com/dotnet/runtime/issues/32125
因此,你可以用这个代替SendAsync
.例如
public string GetValue()
{
var client = new HttpClient();
var webRequest = new HttpRequestMessage(HttpMethod.Post, "http://your-api.com")
{
Content = new StringContent("{ 'some': 'value' }", Encoding.UTF8, "application/json")
};
var response = client.Send(webRequest);
using var reader = new StreamReader(response.Content.ReadAsStream());
return reader.ReadToEnd();
}
这段代码只是一个简化的示例,还没有准备好投入生产.