在ASP.NET中,可以使用异步等待任务(async/await)来处理多个请求。如果希望对多个请求进行并行处理,而不是依次处理,可以使用Task.WhenAll
方法来等待多个任务完成。
下面是一个示例代码,演示了如何使用异步等待任务对多个请求进行处理:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.UI;
public partial class Default : Page
{
protected async void Page_Load(object sender, EventArgs e)
{
// 创建一个包含多个异步任务的列表
List tasks = new List
{
ProcessRequestAsync("Request 1"),
ProcessRequestAsync("Request 2"),
ProcessRequestAsync("Request 3")
};
// 等待所有任务完成
await Task.WhenAll(tasks);
// 所有请求处理完成后,继续执行其他操作
// 例如更新UI或返回响应等
Response.Write("All requests processed");
}
private async Task ProcessRequestAsync(string request)
{
// 模拟处理请求的异步操作
await Task.Delay(1000);
// 处理完成后,可以在此处执行其他逻辑
// 例如保存数据、发送消息等
Response.Write($"Processing request: {request}
");
}
}
在上述示例中,Page_Load
方法内部创建了一个包含多个异步任务的列表。然后使用Task.WhenAll
方法等待所有任务完成。在每个任务的处理逻辑中,可以执行实际的请求处理操作。处理完成后,可以在此处执行其他逻辑,如保存数据、发送消息等。
请注意,上述示例代码中的异步等待任务(async/await)特性需要.NET Framework 4.5或更高版本的支持。