非同期メソッドについて調べてみましたが、独自の非同期メソッドを作成しようとしています。このメソッドは、エラー ログのリストを返す Web サービス呼び出しです。正しく理解しているかどうかわからないので、コードを共有して、何か違うことをする必要があるかどうかを確認したいと思いました。
コードで実行したいのは、メソッドGetAllErrorLogs()を呼び出してエラーログのリストを返すことだけです。これは同期メソッドです。すべてのエラー ログを取得するのに 1 秒かかる場合があるため、GetAllErrorLogs()メソッドを呼び出したら、他のことを行う機会が必要です。これがコードです。
[WebMethod]
public async Task<List<ErrorLog>> GetAllErrorLogs()
{
List<ErrorLog> errorLogs = new List<ErrorLog>();
await System.Threading.Tasks.Task.Run(() => {
errorLogs = ErrorLogRepository.GetAllErrorLogs();
});
if (errorLogs == null)
return new List<ErrorLog>();
return errorLogs;
}
ありがとう!