繁体   English   中英

ASP.NET Web方法-每个调用都在同一线程中处理

[英]ASP.NET Webmethod - Every Call processes in the same Thread

我必须同时处理不同的繁重的数据库操作。 因此,我决定在ASP.NET站点中对Web方法进行异步调用。

一切工作正常,除了每个调用都在同一线程中处理,这意味着它不是并行处理,而是串行处理。

我的Web方法看起来像这样:

[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

我了解,每个请求都在同一线程中处理。 但是我该如何避免呢? 谢谢。

谷歌搜索周围并搜索Stackoverflow并没有指出以下问题。 但是创建完之后,它会显示在侧边栏中。

所以我的问题是这个的重复: asp.net从Javascript异步调用WebMethod

我必须在@Page指令中将EnableSessionState属性设置为ReadOnly ,因为它不是线程安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM