私のアプリケーションからSMSを送信したい。特定のURLにget要求を送信すると、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 –
コンテンツが必要ない場合は、内容を読んでください。行全体を削除するだけです。 –