C#调用第三方的web,因为第三方web运行需要长时间,我不需要返回值,只要web能运行,这个如何做
就算你不需要返回值,也需要知道数据提交过去,还是网络断开了吧
所以说,你应该做的不是不需要返回值,而是应该异步调用
可以使用HttpClient的异步方法来发送HTTP请求,而不必等待响应。
以下是一个简单的示例,展示如何使用HttpClient的异步方法来发送HTTP请求,而无需等待响应:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
// 创建HttpClient实例
HttpClient client = new HttpClient();
// 定义异步方法来发送GET请求
async Task SendAsyncGet(string url)
{
try
{
// 发送GET请求
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Response content:");
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine("Exception caught!");
Console.WriteLine(e.Message);
}
}
// 调用异步方法来发送请求
SendAsyncGet("http://example.com");
// 等待用户输入以继续执行程序
Console.ReadLine();
}
}
在上述示例中,我们创建了一个HttpClient实例,并定义了一个异步方法SendAsyncGet来发送GET请求。在异步方法中,我们使用HttpClient的GetAsync方法发送GET请求,并使用await关键字等待响应。如果请求成功,我们打印响应内容;如果发生异常,我们打印异常信息。最后,我们调用该异步方法来发送请求,并在主程序中等待用户输入以继续执行。
通过使用异步编程模型,您可以避免阻塞主程序,并允许第三方Web服务长时间运行。请注意,这仅适用于不需要立即等待响应的情况。如果您需要处理响应数据,您可以在异步方法中添加相应的逻辑。
额,你不要就不要么。
不过就是不等结果,
直接异步 不await就是
难得敲代码,直接把楼上的代码搬一下
//httpclient还是httpclient,我不想敲,你看楼上的
var _ = client.GetAsync(url); //不一样的地方,这个是task,你不想接收结果就不接收。不await他就成,至于前面_是哑元你要不要都行,申明哑元只是完全告诉后面维护的伙计,后面没有任何地方需要用他,他就是临时哑元