2

是否可以在 中具有异步和同步操作方法AsyncController?这样做有什么缺点吗?

原因是异步操作对耗时操作有意义,但对于返回 HTML 表单没有意义。

例如,我有一个生成文件的页面。使用输入返回表单的操作方法几乎没有逻辑,但是接收 POST、将其发送到另一个 Web 服务并中继响应的操作方法需要一些时间,因此异步执行它是有意义的。

我可以将这些方法放在单独的控制器中,一个同步的,另一个同步的,但我想将它们放在一起。

干杯。

4

1 回答 1

5

AsyncController 中是否可以有异步和同步操作方法?

是的。

这样做有什么缺点吗?

并不真地。

原因是异步操作对耗时的操作有意义

耗时的操作 I/O 密集型,因此您可以从 I/O 完成端口中受益。如果您在单独的线程中运行一个耗时的 CPU 操作,那么您绝对不会从异步控制器中获得任何好处。反而会让事情变得更糟。

例如,我有一个生成文件的页面。使用输入返回表单的操作方法几乎没有逻辑,但是接收 POST、将其发送到另一个 Web 服务并中继响应的操作方法需要一些时间,因此异步执行它是有意义的。

好的,Web 服务调用是 I/O 密集型操作 => 您将从异步控制器中受益。在这种情况下,您可以在同一个异步控制器上执行这两个操作。

于 2011-10-25T16:23:27.750 回答