ASP.NET会话超时测试
|
我做一些ASP.NET网站的黑箱测试,我需要测试不同的会话超时场景。 我不确定他们是否完全封装会话超时。其他然后离开一个页面打开20分钟是有一个更容易的方式强制会话超时? 解决方法减小超时测试这个的最简单和最非侵入的方法可能是将超时减少到一个相当小的数,如3或5分钟。这样,您可以暂停几分钟以模拟更长的暂停,而不必担心应用程序重新启动或特殊的重置代码对测试结果有任何影响。 您可以在几个位置(在适用的.NET框架版本的config文件夹中的web.config中)或仅针对应用程序修改会话状态超时。 要仅为应用程序修改超时,可以将以下内容添加到应用程序的web.config中: <system.web>
<sessionState timeout="60" />
...
或者,您也可以通过IIS配置对话框(我认为您仍然需要为您的应用程序定义一个web.config,否则编辑配置将被禁用)修改此应用程序的相同设置。 要访问它,在IIS中右键单击您的Web应用程序,然后导航到属性| ASP.NET选项卡|编辑配置|状态管理选项卡|会话超时(分钟)。 注意,你也可以通过代码来操作这个设置 – 如果这已经被完成了,web.config文件中的设置将被有效地忽略,你将需要使用另一种技术。 调用Session.Abandon() 比设置低超时稍微更干扰的技术是调用Session.Abandon()。一定要从一个独立于你的应用程序的页面调用它,因为会话实际上并没有结束,直到当前页面上的所有脚本命令被处理。 我的理解是,这将是一个相当干净的方式来测试会话超时,而不实际等待他们。 强制应用程序重新启动 在会话状态的默认配置中,您可以通过使应用程序重新启动来完全丢弃会话来模拟会话超时。这可以通过几种方式,其中几个列举如下: >通过回收应用程序池 > IIS MMC管理单元 >重新启动IIS > IIS MMC管理单元 当我提到“默认配置”,我的意思是配置为使用“InProc”会话状态模式的Web应用程序。还有其他模式可以实际维护会话状态,即使Web应用程序重新启动(StateServer,SQLServer,Custom)。 篡改与状态跟踪机制 假设您的网络应用程序未配置“无Cookie”模式(默认情况下将使用Cookie),您可以从客户端浏览器中删除包含会话ID的Cookie。 但是,我的理解是,这不是真的模拟一个超时,因为服务器仍然会知道会话,它只是不会看到任何人使用它。没有会话ID的请求将被简单地视为需要新会话的未见请求,这可能是也可能不是您想要测试的。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – IIS 7强制新鲜图像
- .net-4.0 – Asp.Net 4.0 CacheItemPolicy滑动到期不正确?
- asp.net – 如何在客户端上为CustomValidator控件重写Error
- 在asp.net中使用加密数据库联接字符串保证数据安全
- ef-code-first – 如何使用LocalDB和EF,而不使用迁移
- asp.net-mvc – DotNetNuke中的ASP.NET MVC?
- asp.net – dbo.TempGetStateItemExclusive3重复调用
- ASP.NET自定义控件 – 什么是最好的方式来包括嵌入式CSS引用
- asp.net – 如何访问Microsoft.Owin.Security.xyz OnAuthen
- asp.net 结合mysql存储过程进行分页代码
- asp.net 4.0:是否有相当于ClientIDMode的INPUT的
- httphandler – AjaxToolkit IIS7 Asp.Net 4.0:
- asp.net-mvc-3 – MVC Razor – 创建/编辑视图最
- asp.net-mvc – MVC授权属性HttpUnauthorizedRes
- asp.net-mvc – 如何拦截视图渲染以在所有部分视
- asp.net-mvc – Asp.Net MVC CSLA DDD可能
- asp.net-mvc – 在ASP.NET MVC视图中允许多少逻辑
- asp.net-mvc – Html.CheckBox即使模型值为true也
- ASP.NET C#中的自定义控件
- asp.net-mvc – 如何在Kendo模板中动态设置列
