Grails 当与客户端的连接丢失时取消请求
我注意到,在标准的grails环境中,请求总是执行到最后,即使客户端连接丢失,结果无法再传递 是否有一种方法可以配置环境,以便在客户端连接丢失时立即取消请求的执行 更新:Thanx获取答案。是-我试图避免的大多数问题都可以通过更好的编码来避免:Grails 当与客户端的连接丢失时取消请求,grails,Grails,我注意到,在标准的grails环境中,请求总是执行到最后,即使客户端连接丢失,结果无法再传递 是否有一种方法可以配置环境,以便在客户端连接丢失时立即取消请求的执行 更新:Thanx获取答案。是-我试图避免的大多数问题都可以通过更好的编码来避免: 缓存可以使几乎每个页面都变得快速 令牌有助于避免两次提交内容 但仍有一些请求需要花费一些时间。让我们以地图服务为例。计算路线需要一些时间。避免重新提交请求的一个解决方案可以是“CalculationProgress”标志以及给用户的消息。但是,为了进
- 缓存可以使几乎每个页面都变得快速
- 令牌有助于避免两次提交内容
我仍然很好奇:没有办法配置服务器来取消请求吗?我曾经在一个系统上开发过,服务器就是这样运行的,这非常棒:-)可能没有这样的方式。我相信grails(以及您的webcontainer)的设计目的是
顺便说一句,常见的模式是使用一个web前端,比如nginx,它接受输入请求并处理所有这些问题,包括取消请求、缓慢请求(我想这是真正的问题?)等等。根据您的评论,您试图避免的是重新加载和多次单击。正确的技术应该是使用Grails支持来处理多个表单提交:
是的,请求速度慢才是真正的问题。想象一下,搜索需要一些时间,一个不耐烦的用户多次重新加载页面,因为她认为这可能会有所帮助……我认为您可以通过使用Nginx和适当的cache/etag头,以及一些服务器端缓存(ehcache/memcache/etc)来解决这个问题