我正在使用Web API。我知道我必须使用完整的异步堆栈来获得它的好处。这意味着API控制器是对我的服务的异步调用,我的服务对我的dataprovider进行异步调用,例如async datareader。
我想当我开始在控制器中使用async时,我也应该在数据库连接上执行OpenAsync()并仅使用异步非查询/查询调用。
这是真的吗?
当我有3个NonQueries(A)在表1,2,3上做什么。完成此任务后,必须按照表1,2,3中的4个NonQueries(B)执行操作。
我是否可以使用ExecuteNonQueryAsync方法进行A或者我是否必须担心B的执行速度比A快,这可能导致我的情况不一致?
答案 0 :(得分:3)
答案 1 :(得分:1)
1)错误,不一定 2)不适用。
通过将您的操作标记为异步,将为新请求释放apppool线程,并且当前请求由后台线程处理。