• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

跨越边界: 延续、Web 开发和 Java 编程

发布: 2008-6-19 13:33 | 作者: 不祥 | 来源: developerworks | 查看: 67次 | 进入软件测试论坛讨论

领测软件测试网

现在,执行这个方法两次,见清单 2:


清单 2. 执行 loop 方法

irb(main):007:0> cont = loop 5
Value of i: 1
Value of i: 2
Value of i: 3
Value of i: 4
Value of i: 5
=> #<Continuation:0x2b5a358>
irb(main):008:0> cont.call
Value of i: 6
Value of i: 7
Value of i: 8
Value of i: 9
Value of i: 10
=> 1  10
irb(main):009:0> cont = loop 8
Value of i: 1
Value of i: 2
Value of i: 3
Value of i: 4
Value of i: 5
Value of i: 6
Value of i: 7
Value of i: 8
=> #<Continuation:0x2b562f0>
irb(main):010:0> cont.call
Value of i: 9
Value of i: 10
 


每次执行调用时,延续会获得执行的状态。所以,使用延续的 Web 开发框架可以在处理每个请求之后捕获一个延续,并用一个标识符将它存储在会话中。然后,框架可以在处理每个新请求之前从会话中恢复延续,采用的方法与存储用户数据一样。

优点和缺点

延续服务器方式在许多方面都很出色 —— 有状态的编程模型和具有无状态性能的用户体验。这种方式的优点如下:

它确保了请求之间的无状态。框架可以识别一个 URL 中的各个延续并将延续存储在会话中。


它提供了一个有状态编程模型。框架可以在任何时候恢复任何延续。如果用户第二次提交一个表单,延续可以恢复以前某个时间点上的状态。


可以根据业务规则让延续失效,这样就很容易防止两次提交表单。


解决了 Back 按钮的问题。因为可以直接获得任意时间点上的执行状态,如果用户点击了 Back 按钮,框架只需恢复适当的延续。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网