У меня есть приложение для веб-форм Asp.Net, и на Page_Load event
моей страницы указан следующий код
protected async void Page_Load(object sender, EventArgs e)
{
var data = await ChartDataHelper.GetBidsAverageCycle("2018", "Q4",
"Fiscal");
SomeSyncOperation();
}
, а вот основной метод
public static async Task<List<BidAveragceCycleModel>> GetBidsAverageCycle(string year, string quarter, string yearType)
{
SqlParameter parameter1 = new SqlParameter("@RequestData", BuildMonthsFilter(year, quarter, yearType));
var data =await Entities.Current.ExecuteStoreQueryAsync<BidAveragceCycleModel>("exec Dashboard_Bids_AverageCycleTime @RequestData"
, new[] { parameter1 });
return data.ToList();
}
Iдумал, что у него await on the ExecuteStoreQueryAsync will return the control back to Page_Load and call SomeSyncOperation()
, но похоже, что он работает в synchronous fashion
, и через 10 секунд, когда Stored Proc возвращает данные, он вызывает data.ToList()
, а затем возвращается только к вызову Page_Load
.
Может кто-нибудь, пожалуйста, скажите мне, что я здесь делаю неправильно.
Спасибо