Webサービスを呼び出すためのaspxページがありますが、それぞれに数分かかることがあり、マルチスレッドで動作させたいと思っています。基本的に私が望むのは、ユーザーがボタンの1つをクリックしたときです。 私は自分のWebサービスにサービスコールをしたいと思っていますが、他のボタンをクリックして他のサービスコールをすることもできます。後の のコールが最初のコールより速く完了した場合、最初のコールの結果を待たずに結果をユーザに表示する必要があります。 (YoはデスクトップSQLエディタアプリケーションについて考えることができます)asp.net WebフォームのマルチスレッドWebサービスコール
しかし私はこれを現在の方法では管理できません。最初の呼び出しは常に以下のものをブロックします。私がこれを達成できるかどうかはWebアプリケーションでの動作の種類 です。
私は私のサービスコールのfloowingのようなコードを使用:ユーザーが1つをクリックしたとき
protected void GetResult_Click(object sender, EventArgs e)
{
ShowSelectData(sql, connStr, tabId);
}
private void ShowSelectData(string sql, string connStr, string tabId)
{
SqlServiceClient cli = new SqlServiceClient();
cli.ShowSelectDataCompleted += cli_ShowSelectDataCompleted;
cli.ShowSelectDataAsync(sql, connStr, tabId);
}
void cli_ShowSelectDataCompleted(object sender, SqlService.ShowSelectDataCompletedEventArgs e)
{
var res = e.Result;
//here I show resullts to user
}
私も
+1「javascriptクライアントラップサーバー側からサービスを直接呼び出すことができない場合、サービスは残りのサービスを呼び出し、クライアントから残りのサービスを呼び出します。」 – NicoE