Asp.net AJAX助手和异步/等待之间的区别

Asp.net AJAX助手和异步/等待之间的区别,asp.net,ajax,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-5,Asp.net,Ajax,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 5,在回顾Scott Allen关于Multiple Sight的教程视频时: 及 我遇到了两个不同的术语:ajaxhelper和async/await 在我看来,这两种模式都是在异步模式下运行的。如果我错了,请纠正我。它们之间到底有什么区别?它们实际上完全不同。理解差异的关键是考虑HTTP协议 在HTTP协议中,您有一个请求和一个响应。就这样。客户端发出请求,服务器创建并发送响应 在请求处理程序(如MVC操作)中使用async和Wait时,仍然只有一个响应。异步不会更改HTTP协议。因此,asyn

在回顾Scott Allen关于Multiple Sight的教程视频时:

我遇到了两个不同的术语:ajaxhelper和async/await


在我看来,这两种模式都是在异步模式下运行的。如果我错了,请纠正我。它们之间到底有什么区别?

它们实际上完全不同。理解差异的关键是考虑HTTP协议

在HTTP协议中,您有一个请求和一个响应。就这样。客户端发出请求,服务器创建并发送响应

在请求处理程序(如MVC操作)中使用async和Wait时,仍然只有一个响应。异步不会更改HTTP协议。因此,async/await所做的是在异步工作完成时释放请求线程。但是,在异步工作完成时,不会向客户端发送任何内容,也不会创建响应。您可以将async/await视为屈服于ASP.NET运行时,而不是客户端浏览器

AJAX是一种不同的方法。AJAX是一种从浏览器发出附加HTTP请求的约定,无需更改当前页面。如果您正在编写SPA,或者如果您想加载占位符页面,然后加载内容,那么可以使用AJAX


有关更多信息,请参见异步代码不是的银弹部分。

它们实际上完全不同。理解差异的关键是考虑HTTP协议

在HTTP协议中,您有一个请求和一个响应。就这样。客户端发出请求,服务器创建并发送响应

在请求处理程序(如MVC操作)中使用async和Wait时,仍然只有一个响应。异步不会更改HTTP协议。因此,async/await所做的是在异步工作完成时释放请求线程。但是,在异步工作完成时,不会向客户端发送任何内容,也不会创建响应。您可以将async/await视为屈服于ASP.NET运行时,而不是客户端浏览器

AJAX是一种不同的方法。AJAX是一种从浏览器发出附加HTTP请求的约定,无需更改当前页面。如果您正在编写SPA,或者如果您想加载占位符页面,然后加载内容,那么可以使用AJAX


有关更多信息,请参阅异步代码不是的银弹部分。

async/await是服务器端异步方式,内部线程接管工作,但对于ajax,它是客户端方式,浏览器执行此操作,即发送XMLHTTPRequest,命中成功回调,一旦响应到达客户端。async/await是服务器端的异步方式,内部线程接管工作,但对于ajax,这是客户端的方式,浏览器会这样做,即发送XMLHTTPRequest,一旦响应到达客户端,就会命中成功回调。对于.Net Core MVC,仍然是这样吗?我注意到在核心MVC应用程序的控制器方法中使用了异步,我想知道这是否正在取代Ajax。我来自MVC5背景,正在过渡到core。这仍然是一样的。async无法更改HTTP协议。在处理多个请求时,AJAX虽然现在通常没有XML,但却是一种选择。其他选择可以包括其他协议,如WebSocket。对于.Net核心MVC,仍然是这样吗?我注意到在核心MVC应用程序的控制器方法中使用了异步,我想知道这是否正在取代Ajax。我来自MVC5背景,正在过渡到core。这仍然是一样的。async无法更改HTTP协议。在处理多个请求时,AJAX虽然现在通常没有XML,但却是一种选择。其他选择可以包括其他协议,如WebSocket。