是否可以在 中具有异步和同步操作方法AsyncController
?这样做有什么缺点吗?
原因是异步操作对耗时操作有意义,但对于返回 HTML 表单没有意义。
例如,我有一个生成文件的页面。使用输入返回表单的操作方法几乎没有逻辑,但是接收 POST、将其发送到另一个 Web 服务并中继响应的操作方法需要一些时间,因此异步执行它是有意义的。
我可以将这些方法放在单独的控制器中,一个同步的,另一个同步的,但我想将它们放在一起。
干杯。
是否可以在 中具有异步和同步操作方法AsyncController
?这样做有什么缺点吗?
原因是异步操作对耗时操作有意义,但对于返回 HTML 表单没有意义。
例如,我有一个生成文件的页面。使用输入返回表单的操作方法几乎没有逻辑,但是接收 POST、将其发送到另一个 Web 服务并中继响应的操作方法需要一些时间,因此异步执行它是有意义的。
我可以将这些方法放在单独的控制器中,一个同步的,另一个同步的,但我想将它们放在一起。
干杯。
AsyncController 中是否可以有异步和同步操作方法?
是的。
这样做有什么缺点吗?
并不真地。
原因是异步操作对耗时的操作有意义
耗时的操作 和I/O 密集型,因此您可以从 I/O 完成端口中受益。如果您在单独的线程中运行一个耗时的 CPU 操作,那么您绝对不会从异步控制器中获得任何好处。反而会让事情变得更糟。
例如,我有一个生成文件的页面。使用输入返回表单的操作方法几乎没有逻辑,但是接收 POST、将其发送到另一个 Web 服务并中继响应的操作方法需要一些时间,因此异步执行它是有意义的。
好的,Web 服务调用是 I/O 密集型操作 => 您将从异步控制器中受益。在这种情况下,您可以在同一个异步控制器上执行这两个操作。