//async句をつけたメソッドはAsyncのsuffixを付けることが推奨されています。 private async Task<string> HeavyProcessingAsync() { string hoge = "hoge"; //重たい処理 return "hoge"; } private async void Page_Load(object sender, EventArgs e) { //処理A string hoge = await HeavyProcessingAsync(); //処理B } async句をつけたメソッドの戻り値はTask, Task<T>にします。 Task<T>といっても受け取る際にはTaskを意識せずT型で受け取ることが出来ます。 通常、async句をつけていない重たいメソッドを呼び出した場合、 待機中になってしまい画面が固まってしまいます。