Page_Load()
方法可以是 async
吗?我之所以问这个问题是因为我已经这样声明了。
protected void Page_Load()
一切都按照应有的方式加载。如果我声明为这样
protected async void Page_Load()
“Page_Load()”断点未被触发,也没有进入“catch()”块。
现在我正在尝试将我的“Page_Load()”方法设置为“async”,以便在页面完全呈现之前执行3个不同的存储过程。如果没有将我的“Page_Load()”方法设置为“async”,则会出现编译错误:
await运算符只能与async方法一起使用。
我的代码如下所示。
private DataSet ds1 = new DataSet();
private DataSet ds2 = new DataSet();
private DataSet ds3 = new DataSet();
protected async void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var task1 = GetStoreInfo();
var task2 = GetSalespersonInfo();
var task3 = GetManagerInfo();
await System.Threading.Tasks.Task.WhenAll(task1, task2, task3);
PopulateAll();
}
async System.Threading.Tasks.Task<DataSet> GetStoreInfo()
{
ds1 = RunStoredProcedureToReturnThisData();
return ds1;
}
async System.Threading.Tasks.Task<DataSet> GetSalespersonInfo()
{
ds2 = RunStoredProcedureToReturnThisData();
return ds2;
}
async System.Threading.Tasks.Task<DataSet> GetManagerInfo()
{
ds3 = RunStoredProcedureToReturnThisData();
return ds3;
}
protected void PopulateAll()
{
//Bind the different returned datasets
}
private async Task PostClaimToService()
函数与RegisterAsyncTask(new PageAsyncTask(PostClaimToService()));
的调用不匹配... 它期望一个返回BeginHandler
对象的函数。 - Ortund