我想从我的应用发送短信。当我向特定URL发送获取请求时,SMS会发送。我所有的方法都是异步的,但是当我实例化一个HttpClient
并且想要使用response.Content.ReadAsStringAsync()
时,我删除了await
。当我不需要响应时,无需等待即可使用异步
我不想等待此方法的响应,并且只想向该URL发送请求。现在你能告诉我这是一个很好的解决方案吗?
这是我的示例代码:
public async Task<bool> SendMessage(string number, string body)
{
var from = _config["SMSSenderSettings:FromNumber"];
var username = _config["SMSSenderSettings:PanelUserName"];
var password = _config["SMSSenderSettings:PanelPassword"];
using (var client = new HttpClient())
{
try
{
var response = await client.GetAsync($"{BaseUrl}/send.php?method=sendsms&format=json&from={from}" +
$"&to={number}&text={body}&type=0&username={username}&password={password}");
response.EnsureSuccessStatusCode(); // Throw exception if call is not successful
response.Content.ReadAsStringAsync();
return true;
}
catch (HttpRequestException)
{
return false;
}
}
}
我从response.Content.ReadAsStringAsync();
删除await
,我也得到警告。
这不是一个好主意,在某处你的代码,你应该'await' /'Wait' /'.Result'任务,否则任何未处理的异常将升至应用程序级别https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/exception-handling-task-parallel-library –
如果您不需要该内容,则不要阅读内容。只要删除整条线。 –