我有一個aspx頁面來調用Web服務,每個Web服務可能需要幾分鐘時間,我想讓它以多線程的方式工作。基本上我想要的是當用戶點擊其中一個按鈕 我想要對我的Web服務進行服務調用,但我也希望用戶能夠單擊其他按鈕並在需要時進行其他服務調用。如果後來的呼叫 比第一個呼叫完成得更快,則必須向用戶顯示結果,而不必等待第一次呼叫的結果。 (喲可以考慮桌面SQL編輯器應用程序)在asp.net web窗體中的多線程web服務調用
但我不能用我目前的方法來管理這個。第一個電話總是阻止下面的電話,我想知道如果我能在web應用程序中完成這種類型的behviour。
我用像floowing一個代碼爲我服務電話:
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
}
我還加異步=「真」到我的aspx頁面
+1「如果您不能直接從javascript客戶端封裝服務器端調用該服務,則該服務會調用休息服務並從您的客戶端調用其餘服務。」 – NicoE