看看这个答案:Problem with IHttpAsyncHandler and ASP.NET "Requests Executing" counter的技术观点。
你有一些问题:
如果请求尚未完成,并且用户看见没有什么再次发生上点击按钮,再而三?
在这种情况下,多个请求将在您的Web服务器上排队,并且它们都将被处理。这会影响性能。正如你所提到的,你的用户界面应该通过禁用按钮并给用户一些反馈意见来阻止这个请求正在被处理。
在我的web应用程序和数据库中会发生什么?在投掷另一个之前是否会等待先前的请求完成?
不需要。除非您锁定数据库中的单个资源,否则每个请求将由IIS中的单独工作人员处理。并发请求的数量是有限制的,但通常会同时发生。如果您正在进行的工作是CPU密集型的,那么CPU资源可能会出现一些争用,并且整体性能会受到影响。你一定要看看AsyncHandler模型。
它会接受每个会话多个请求吗?
是
我的web应用程序将冻结?
冻结可能是错误的词。如果请求以比Web服务器更快的速度进入,请求队列可能会变大。如果发生这种情况,用户将看到您的Web服务器无响应或速度缓慢。
我的数据库将从同一用户同时执行多个sql请求吗?
可能。
我的sql服务器将冻结?
同上。如果您的SQL Server无法处理请求的速度比进入的速度更快,则您的用户可能会觉得您的应用程序无响应。
tx很多答案! – user627283