如何使用asp.net mvc异步操作?

时间:2014-03-21 07:52:06

标签: ajax asp.net-mvc asynchronous

我是asp.net mvc的新手吗?我发现MVC引擎提供了异步动作功能。 这意味着您可以以APM方式实现它。 但我非常好奇我可以发送ajax的请求。我为什么要使用异步操作?怎么用?

谢谢你的帮助。 大卫彭

1 个答案:

答案 0 :(得分:1)

它被推动为可扩展性的最佳实践。 Web服务器一次只能接收这么多Web请求。异步模型释放线程,以便在处理当前请求时处理其他传入请求。

不要将此与并行处理混淆。根本不是这样。如果您尝试使用异步方法对相同的datacontext执行两次查询,则会出现异常。

承诺是你必须使用Linq提供的异步等效项,如AnyAsyc,FirstOrDefaultAsyc,ToListAsyc。如果您正在调用域服务,这些服务必须返回Task<Result>,然后当您调用域服务时,将await关键字放在前面。

对于大多数应用来说,它非常直接。让许多人措手不及的是,他们开始考虑并行性,并尝试与一个数据上下文并行进行多项操作,并且不会起作用。请记住,您所做的一切都是释放服务器以接收另一个请求,然后将其释放到等待方法之前等待它。