关于iis session详解_PHP教程
程序员文章站
2022-04-01 11:02:13
...
session基本操作添加 修改 session项session.add("test", datetime.now);
session["test"] = datetime.now;添加和修改session的方法是一样的,当指定的session标识不存在时,系统会添加。当存在时系统会更新。删除 session项session.remove("test");不要使用session["test"] = null; 这样只是将值设置为null!移除所有session项session.clear(); 或 session.removeall();终止当前会话状态session.abandon();当前session项数量session.count当前sessionidsession.sessionidsession何时创建所有浏览器(ie、chrome、firefox)当第一次打开浏览器时(当前未运行浏览器时),服务器端会创建新的session。ie浏览器,当已有浏览器运行时,打开新的浏览器则会创建新的session。而chrome、firefox当已有浏览器运行时,打开新的浏览器不会创建新的session。当session过期后,继续访问时会创建session。当session创建时会触发 global.asax 中的session_start方法。session何时过期 分钟值。(未填写时默认是20分钟过期)iis的会话超时设置并不起效。(设置位置如下图)网站关联的应用程序池,的回收时间限制。经测试也不起效。但如果手动回收或设置定时回收则起效。(如何关联网站应用程序池如下图)如何防止session过期可以设置较长的session过期时间。但如果设置过长可能会引起服务器负担过重。将session模式设置为进程外或数据库教程中。在此就不做讨论。一般实际情况可能是,用户在某些页面,如博客文章提交页,在编辑过程因为要很长时间。可能在提交时发现session过期了。而导致用户信息丢失无法提交文章。如果是这种情况,可能只想将指定页面的session时间延长。可以通过ajax定时访问后台的一空白页面。来保持session在线。建立一个空页面updatesession.aspx注意在page_load中添加 注意当ajax请求aspx页面时,aspx页面应设置为不允许缓存!protected void page_load(object sender, eventargs e)
{
response.appendheader("pragma", "no-cache");
response.appendheader("cache-control", "no-cache, must-revalidate");
response.appendheader("expires", "0");
}关于sessionid当session过期后,sessionid并未改变。调用 response.cookies.add(new httpcookie("asp.net教程_sessionid", "")); 可设置sessionid当设置为空时,服务器端会创建新的session。而老的session并未被释放。当设置为其他已有的sessionid值时,此时的session将获取的是指定的session。这就是session劫持了。如何统计当前网站session个数。创建类view sourceprint?
在global.asax中添加view sourceprint?
session["test"] = datetime.now;添加和修改session的方法是一样的,当指定的session标识不存在时,系统会添加。当存在时系统会更新。删除 session项session.remove("test");不要使用session["test"] = null; 这样只是将值设置为null!移除所有session项session.clear(); 或 session.removeall();终止当前会话状态session.abandon();当前session项数量session.count当前sessionidsession.sessionidsession何时创建所有浏览器(ie、chrome、firefox)当第一次打开浏览器时(当前未运行浏览器时),服务器端会创建新的session。ie浏览器,当已有浏览器运行时,打开新的浏览器则会创建新的session。而chrome、firefox当已有浏览器运行时,打开新的浏览器不会创建新的session。当session过期后,继续访问时会创建session。当session创建时会触发 global.asax 中的session_start方法。session何时过期
- 代码 session.abandon(); 引起session过期。
- session超时,自动过期。
- web.config 被修改,将会过期。
- iis的应用程序池被回收引起。
{
response.appendheader("pragma", "no-cache");
response.appendheader("cache-control", "no-cache, must-revalidate");
response.appendheader("expires", "0");
}关于sessionid当session过期后,sessionid并未改变。调用 response.cookies.add(new httpcookie("asp.net教程_sessionid", "")); 可设置sessionid当设置为空时,服务器端会创建新的session。而老的session并未被释放。当设置为其他已有的sessionid值时,此时的session将获取的是指定的session。这就是session劫持了。如何统计当前网站session个数。创建类view sourceprint?
public class constants
|
{ |
///
|
/// 当前session个数
|
///
|
public static int sessioncount = 0;
|
|
///
|
/// 累计session个数
|
///
|
public static int sessionallcount = 0;
|
} |
void session_start( object sender, eventargs e)
|
{ |
constants.sessionallcount++;
|
constants.sessioncount++;
|
session[ "sessionstartdatetime" ] = datetime.now;
|
} |
|
void session_end( object sender, eventargs e)
|
{ |
constants.sessioncount--;
|
} |
上一篇: 慕课网----大话PHP设计模式 七()
下一篇: python基础入门级操作总结
推荐阅读
-
Yii中CGridView关联表搜索排序方法实例详解,yiicgridview_PHP教程
-
关于PHP中常见数据类型的汇总_PHP教程
-
关于SESSION,我想再说一下。_PHP教程
-
关于Apache默认编码错误,导致网站乱码的解决方案,apache编码_PHP教程
-
ThinkPHP3.1之D方法实例详解_PHP教程
-
PHP语言中 printf()函数格式化使用详解_PHP教程
-
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解_PHP教程
-
详解PHP数组赋值方法,详解数组赋值_PHP教程
-
昨天写支付接口时遇到支付接口返回数据接收地址,session数据丢失(或者说失效)的问题,session数据丢失_PHP教程
-
php 如何设置一个严格控制过期时间的session详解