问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于session的使用问题,我不太明白

发布网友 发布时间:2022-04-27 17:29

我来回答

2个回答

懂视网 时间:2022-04-27 21:50

问:当页面中是否了frameset,发现在每个frame中显示页面的SessionID在第一次请求时都不相同,为什么?
答:原因是你的frameset是放在一个htm页面上而不是ASPX页面。
在一般情况下,如果frameset是aspx页面,当你请求页面时,它首先将请求发送到Web服务器,此时已经获得了SessionID,接着浏览器会分别请求Frame中的其他页面,这样所有页面的SessionID就是一样的,就是FrameSet页面的SessionID。
然而如果你使用Html页面做FrameSet页面,第一个请求将是HTML页面,当该页面从服务器上返回是并没有任何Session产生,接着浏览器会请求Frame里面的页面,这样这些页面都会产生自己的SessionID,所以在这种情况下就会出现这种问题。当你重新刷新页面时,SessionID就会一样,并且是最后一个请求页面的SessionID。

问:是否可以将不同应用程序的Session保存在相同的SQL Server服务器的不同数据库上。
答:可以,请参考:
FIX: Using one SQL database for all applications for SQL Server session state may cause a bottleneck
http://support.microsoft.com/default.aspx?scid=kb;en-us;836680

问:在Session_End是我是否可以获得有效的HttpSessionState和HttpContext对象?
答:你可以在这个方法中获得HttpSessionState对象,可以直接使用Session来访问即可。但是不能获得HttpContext对象,因为该事件并没有和任何请求相关联,因此不存在上下文对象。

问:当我设置EnableSessionState为“ReadOnly”后,但是我在InProc模式下依然可以修改Session的值,这是为什么?
答:即使EnableSessionState标示为ReadOnly,但是在InProc模式下用户依然可以编辑Session。唯一不同的是,在请求过程中Session将不会被锁住。

问:当Session设置成cookieless后会有什么影响?
答:当把cookieless设置成true时,主要会有下面的约束:
1、在页面中不能使用绝对链接
2、在应用程序中在除了Http和Https之间的切换时需要完成一些其他的步骤。
如果发送一个链接给其他人,此时的URL里面将包含Session ID的信息,所以两个人将公用一个Session。

问:为了可以顺序访问Session的状态值,Session是否提供了锁定机制?
答:Session实现了Reader/Writer的锁机制:
当页面对Session具有可写功能(即页面有<%@ Page EnableSessionState="True" %>标记),此时直到请求完成该页面的Session持有一个写锁定。
当页面对Session具有只读功能(即页面有<%@ Page EnableSessionState="ReadOnly" %>标记),此时知道请求完成该页面的Session持有一个读锁定。
读锁定将阻塞一个写锁定;读锁定不会阻塞读锁定;写锁定将阻塞所有的读写锁定。这就是为什么两个框架中的同一个页面都去写同一个Session时,其中一个要等待另一个(稍快的那个)完成后,才开始写。

问:如果使用了cookieless,我该如何从HTTP页面定向到HTTPS?
答:请尝试下面的方法:
String originalUrl = "/fxtest3/sub/foo2.aspx"; 
String modifiedUrl = "https://localhost" + Response.ApplyAppPathModifier(originalUrl); 
Response.Redirect(modifiedUrl);

问:什么类型的对象可以保存在Session里?
答:这依赖使用的Session的模式,当使用的是进程内(InProc)的Session那么可以轻松的保存任何对象。如果你使用了非InProc的模式,则只能保存可以序列化和反序列化的对象,如果此时保存的对象不支持序列化,则不能保存到这种模式(非InProc)的Session里。

问:为什么每次请求的SessionID都不相同?
答:该问题可能是没有在Session里面保存任何信息引起的,即程序中任何地方都没有使用Session。当Session中保存信息之后SessionID将一直和浏览器相关,此时的SessionID将不会在变化。

热心网友 时间:2022-04-27 18:58

不会覆盖。
这样说吧,Session是两部分组成的。打个比方,你的个人信息啥的都在银行(相当于服务器),然后你手(相当于浏览器)里有个卡号(session id)。这样个人信息很安全,你通过卡号就能取到信息,信息又不会保存在你手里。
所以说,session是和浏览器有关的。不同浏览器进程之间不会发生覆盖。
至于第二个问题,某些情况下(我知道的部分语言可以,部分语言我也不会,==!)可以,根据a的session id获取session对象(需要a将session id传递给b)。代码就不写了,不知道你要什么语言的。
另外,可以将a的session序列化传递给b后,反序列化得到session对象。追问php的,会的话能展示下代码么。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
糖代谢增高会发展成糖尿病吗? 地毯怎么选购呢 酒店地毯定制 葡萄籽油可以炒菜吗 葡萄籽食用油炒菜好吃吗 ...道路的理论基础、时代背景、历史依据、现实依据 排骨怎么炖好吃又简单家常做法 家常炖排骨怎样做好吃 vivox9spius怎么设置指纹解锁屏幕呀求大神交 vivox9pius怎么解锁密码 手机,没了你会更好作文 高中化学哪个部分最难学? 江苏高二选修化学难不难? 高二化学物质的结构与性质难学吗 高二有机化学基础难不难?化学反应原理呢?还有物质结构与性质 高中化学,很难么。是到高二就没有化学了么?改成生物了? 高二的物理化学真的很难吗 ? 高一化学和高二化学难度有多大的差别? 高二化学会考难吗?考过进啊~ 高二化学难学吗? 高中阶段化学属于很难的科目吗? 如何使用Session 申请强制执行10万元的加倍延迟履行金是多少? 迟延履行金的计算基数 迟延履行金的计算方法的司法解释是什么 延迟履行违约金的计算方法 延迟履行的利息是怎么计算的 延迟履行金怎么样计算 播放量破亿却只有8个人评分,《有翡》是真火还是刷数据? 《有匪》真原著党如何看待《有翡》? 东北财经大学金融学院就业方向及就业前景 冬泳注意哪些事项 冬泳要注意什么啊? 在冬泳的过程中,需要注意什么问题? 冬泳要注意那些问题 第一次冬泳需要注意什么 冬天游泳应该注意些什么问题? 为什么有些股票总是在收盘15:00时,挂个大单 股票交易在15点零21秒的时候有一个大卖单是什么意思,股市不是15点就关闭了吗? 股票在11点后出现大量大买单说明什么? 跪求商务英语9000句的完整翻译 英语900句哪个版本好呢?最好的是新东方的吗? 有没有哪些英语书是关于日常生活中的问路,点餐等的? 李阳疯狂英语900句的文本。谢谢! 谁知道外贸英语口语900句啊 英语水平和白痴差不多 想自学雅思需要准备什么书 冬天早市卖什么挣钱 冬天早市卖什么早餐 姐姐想在她们那里的农贸市场早市摆地摊,这冬天了,在农贸市场卖啥好呢? 拼多多商城真的假的 拼多多商城有假货吗 session 语法使用