我想從我的應用發送短信。當我向特定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 –
如果您不需要該內容,則不要閱讀內容。只要刪除整條線。 –