【发布时间】:2019-07-24 13:04:03
【问题描述】:
我有一个获取请求并使用 XPO 执行数据的 webApi。根据我的业务逻辑,为了避免在同一个数据库表上发生冲突,每个请求都必须按顺序一个一个地执行。
老实说,我还不能尝试任何东西。我对 Asp.Net WebAPI 的异步方面有点困惑。
下面的代码是在自定义 DelegatingHandler 中创建的响应的一部分。当base.SendAsync(request, cancellationToken) 方法执行时,我的业务逻辑从相关的System.Web.Http.ApiController 类开始。
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
// some logic on request like isUserGranted etc.
//
//
var response = await base.SendAsync(request, cancellationToken);
return buildApiResponse(request, response);
}
可能,我在这里有一个误解。如果队列中有请求,我需要等到当前响应完成才能处理下一个请求。我读过 ConcurrentQueue 但不知道如何在这种情况下实现它。
提前致谢。
【问题讨论】:
标签: c# asp.net asynchronous asp.net-web-api queue