MySqlサーバーからのデータをクエリしてtxtファイルに書き込む非同期メソッドがあります。 (非同期メソッドから文字列を返す方法が見つかりませんでした)。非同期メソッドと同期メソッドを連続して呼び出します
次に、txtファイルを読み取るシンプルな同期メソッドを呼び出す必要があります。
私のコードは次のようになります。
var sql = new ProjetTN.Class.SQLite();
sql.GetSens("101"); //<--- This is an async method
var SensItems = sql.ListeSens(); //<--- This method return a List<string>
しかし、私はそのようなコードを実行した場合、非同期メソッドはスキップされ、txtファイルを書き込みません。その後、syncメソッドはtxtファイルを読み込もうとしますが、彼は存在しないので、プログラムはクラッシュします。
public void CallGetSens()
{
var task = GetSens("101");
task.Wait();
}
私はメソッドを呼び出すとき:
var sql = new ProjetTN.Class.SQLite();
sql.CallGetSens(); //<--- This is an async method
var SensItems = sql.ListeSens(); //<--- This method return a List<string>
しかし、これだけでフリーズ私の研究では
、私は私が私が試した完全で非同期メソッドを待つ必要があることがわかりましたプログラム...
私はどのように非同期メソッドとその後の同期メソッドを呼び出すことができますか? それ以外の場合、非同期メソッドから文字列を返すにはどうすればよいですか?
@CharlesMagerあなたは私に何の読書を提案していますか? :) –
初心者向け:[asyncとasyncを使った非同期プログラミング](https://msdn.microsoft.com/en-us/library/mt674882.aspx)また、[非同期プログラムの制御フロー](https://msdn.microsoft.com/en-us/library/mt674892.aspx) – Igor