2011-12-13 65 views
1

我有一个需要花费大量时间计算和呈现的模板。如果我在浏览器中按下转义,它应该停止执行控制器方法并呈现模板。但是现在控制器方法执行直到它完成。这不应该发生。我如何控制这一点。如何在播放框架中停止当前执行

回答

3

作为控制器的一部分,你不应该有很长时间的运行代码,因为这会阻塞http线程。你的控制器应该很快。按下转义将关闭浏览器端的http连接,但不会停止控制器执行。

达到此目的的最佳方法是使用缓存和asynchronous programming的组合。 我使用作业执行繁重的计算,控制器从缓存中获取信息或异步调用作业,如果我有一个缓存未命中。这工作非常好,很容易实现。

相关问题