在ASP.NET请求结束之前,是否需要完成没有返回的异步任务

add*_*ils 7 c# asp.net-mvc asynchronous

我正在为我工​​作的公司内的交易车辆开发一个拍卖交易系统.

交易者可以设置警报,每当提交新的列表时,我想使用新列表的详细信息来搜索每个人的匹配警报,但这不应该是交易者应该等待回到成功列表确认的时间所以我想在后台运行它.

我的问题是,如果我标记该函数async并且不担心返回,那么ASP.NET MVC框架仍然希望在结束请求之前等待异步函数结束吗?

我知道我可能会测试这个但是我不知道怎么样,我的异步书还没有太深入.

谢谢.

nos*_*tio 4

在 ASP.NET 中,您仅限于给定 HTTP 请求/响应的边界。您可以而且应该async/await在 ASP.NET MVC/Web API 控制器方法内部使用(如此处所述),这可以提高 Web 应用程序的可扩展性。

但是,它不会改变客户端 Web 浏览器已发送 HTTP 请求并仍在等待 HTTP 响应的事实。通常,在将响应发送到客户端之前,由异步控制器方法启动的所有异步操作都应该已完成。

如果您需要跨单个 HTTP 请求的边界进行长时间运行的服务器端操作,这里有一个相关的答案。如果您的客户端逻辑需要来自服务器的高频更新,Microsoft 可以使用SignalR