0
我必須同時處理不同的重型數據庫操作。所以我決定在我的ASP.NET網站中對webmethod進行異步調用。ASP.NET Webmethod - 每個調用進程在同一線程中
一切工作正常,除了每個調用都在同一個線程中處理,這意味着它不處理並行,而是串行。
我WEBMETHOD正在尋找這樣的:
[WebMethod]
public static string Work(string id)
{
Thread.Sleep(3000);
return DateTime.Now.ToString() + " " + id;
}
在Firebug中,我可以跟蹤請求。有10個請求並行發佈,但時間線例如是這樣的:
Request01 - 18.34s
Request02 - 09.18s
Request03 - 21.36s
Request04 - 06.14s
Request05 - 27.41s
Request06 - 30.45s
Request07 - 15.26s
Request08 - 03.06s
Request09 - 12.21s
Request10 - 24.40s
我明白,每個請求都在同一個線程中處理。但我怎麼能避免這種情況? 謝謝。