|
|
1
73
减少超时时间 测试这一点最简单、最非侵入性的方法可能是将超时时间减少到一个相当小的数字,例如3或5分钟。通过这种方式,您可以暂停几分钟以模拟更长的暂停时间,而不必担心应用程序重新启动或特殊的重置代码会对测试结果产生任何影响。 您可以在几个位置修改会话状态超时-全局(在适用的.NET framework版本的config文件夹中的web.config中)或仅针对您的应用程序。 要仅为应用程序修改超时,可以将以下内容添加到应用程序的web.config中:
要访问此功能,请右键单击IIS中的web应用程序,然后导航到属性| ASP.NET选项卡|编辑配置|状态管理选项卡|会话超时(分钟)。 请注意,您还可以通过代码操纵此设置-如果已经这样做,那么web.config文件中的设置将被有效忽略,您将需要使用另一种技术。
一种比设置低超时稍微更具侵入性的技术是调用Session.about()。但是,请确保从与应用程序分离的页面调用此函数,因为在处理当前页面上的所有脚本命令之前,会话实际上不会结束。 我的理解是,这将是一种相当干净的方法来测试会话超时,而无需实际等待。 强制重新启动应用程序 在会话状态的默认配置中,您可以通过使应用程序重新启动来完全取消会话,从而模拟会话超时。这可以通过几种方式实现,下面列出了几种方式:
当我提到“默认配置”时,我指的是配置为使用“InProc”会话状态模式的web应用程序。即使重新启动web应用程序,也有其他模式可以实际维护会话状态(StateServer、SQLServer、Custom)。 篡改状态跟踪机制 假设您的web应用程序未配置“无cookie”模式(默认情况下,将使用cookie),您可以从客户端浏览器中删除包含会话ID的cookie。 然而,我的理解是,这并不是真的模拟超时,因为服务器仍然会知道会话,只是看不到任何人在使用它。没有会话ID的请求将被视为需要新会话的不可见请求,这可能是您想要测试的,也可能不是。 |
|
|
2
9
将页面添加到站点并调用Session.about() |
|
|
3
5
大多数浏览器在选项卡上共享会话。因此,我发现不需要修改web.config中的任何内容就可以轻松完成。 这样,即使特定功能在会话到期时未处理重定向到登录,您也可以进行测试。 |
|
|
4
4
跳出应用程序池,会话将丢失。 如果您没有直接的IIS访问权限,您可以打开并保存Web.Config以执行相同的操作(不要使用记事本,它会破坏编码)。 |
|
|
5
3
缩短超时时间。 |
|
|
6
3
您可以在网络配置中更改超时
|
|
|
7
2
|
|
|
8
1
在服务器上回收应用程序池。 |
|
|
9
0
您有两个选择:- 1-减少web.config中的会话超时。 2-重新启动IIS或应用程序池。 |
|
|
10
0
我通常使用ASP.NET会话状态服务器。除了开发过程中的其他好处外,我可以简单地重新启动ASP.NET状态服务以放弃会话。如果您正在使用状态服务器,只需运行services.msc并重新启动“ASP.NET状态服务”。 |
|
|
Tim Kirkwood · 比较空数据帧 1 年前 |
|
|
nerrood · 为什么在笑话测试中不调用save 2 年前 |
|
|
eof · Chrome块文件下载-selenium 2 年前 |
|
Display name · Ember.js辛烷值验收试验 2 年前 |
|
|
Vitto · 理智和回归测试是如何在一个简单的场景中协同工作的? 2 年前 |
|
|
mattsmith5 · 使用特征文件并行计算空手道跑场景 2 年前 |
|
|
Norronas · 采用裸机编程的寄存器单元测试 2 年前 |