当前位置: 首页 > news >正文

陕西网站建设方案网站制作培训学校

陕西网站建设方案,网站制作培训学校,如何用免费服务器做网站,网站开发与建设主要干什么ASP.NET Session的使用当中我们会遇到很多的问题#xff0c;那么这里我们来谈下经常出现的一些常用ASP.NET Session的理解#xff1a; ASP.NET Session的七点认识之一对于值类型的变量#xff0c;Session中保存的是值类型的拷贝 Session[__test0] 1; inti (int)…  ASP.NET Session的使用当中我们会遇到很多的问题那么这里我们来谈下经常出现的一些常用ASP.NET Session的理解 ASP.NET Session的七点认识之一  对于值类型的变量Session中保存的是值类型的拷贝 Session[__test0] 1; int i  (int)Session[__test0]1; int j  (int)Session[__test0];   结果i2,j1 ASP.NET Session的七点认识之二  对于引用类新的变量Session中保存的是引用 CDACommon cda new CDACommon();  Session[__test]  cda.GetDataSet(select top 1 * from tb_customer);  DataSet ds  (DataSet)Session[__test];  DataSet ds2  (DataSet)Session[__test];  ds.Tables[0].Rows[0][0]9999;   结果ds.Tables[0].Rows[0][0]9999 ds2.Tables[0].Rows[0][0]9999; ASP.NET Session的七点认识之三  Session周期   新的浏览器窗口启动后开始一个新的Session触发Global的Session_Start的调用从第一个浏览器窗口打开的浏览器窗口不启动新的Session。Session过期后执行页面的提交也会触发Session_Start等于是新的一个Session。   ASP.NET Session的七点认识之四  调用Session   对于Web Service每个方法的调用都会启动一个Session可以用下面的方法来使多个调用在同一个Session里 CWSSyscfg cwsCfg  new CWSSyscfg();  cwsCfg.CookieContainer  new System.Net.CookieContainer();   CWSSyscfg是一个Web Service类Web Service的给代理类设置CookieContainer属性只要多个代理的CookieContainer属性是相同的值则对这些Web Service的调用在同一个Session。可以用单例模式来实现。   ASP.NET Session的七点认识之五  Session数据有效期   只要页面有提交活动则Session的所有项都会保持页面在20分钟默认配置内没有任何提交活动时Session会失效。Session内存储的多个数据项是整体失效的。 ASP.NET Session的七点认识之六  Session的保存   在Session中如果保存的是非序列化的类比如DataView在用SQLServer保存Session的模式下无法使用。查看一个类是否是序列化的方法是需看是否用[Serializable]来标记了该类。     ASP.NET Session的七点认识之七  关于Sessuon的清除   如果我在Session中保存一个比较大的DataSet这样aspnet_wp.exe占有的内存会很大假如我退出了使用这个DataSet 的页面我想释放该Session我用Session.Clear() 或者DataSet.Clear()都不能使内存的占用降下来即使Session过了期限内存也没有降下来比较困惑谁能给我详细解释一下。   要说到session这个东西很多人可能都不屑一顾。这个东东嘛n年前就开始做了有啥好讲的啊。可是在很多地方我们还是会发现一些问题比如有的人说我的session_start激发了怎么session_end没有啊我在session_end做了些善后工作这下没法完成了怎么办啊   最近看了些文章结合自己的一些经验想和大家一起讨论一下其中的说法。   其实很多这类的问题都是由一个东西引起的它就是Session ID。首先是不是我一个IE client起来访问一个页面只要我不关浏览器Session ID就是一样的呢很多人会想应该是一样的吧我浏览器都没关Web Server总归会认为我是同一个client, 不会把Session ID变来变去的。要验证这个让我们现在做一个简单的试验。用VS.NET创建一个简单的ASP.NET Web App. 在Web Form1上加个Button, 然后在页面的Page Prefix上enable trace. 接下来浏览这个页面不停的click button来提交Request。感谢ASP.NET的这个trace功能我们可以看到Session ID其实是在不停的变化的。也就是说这时候在服务器端根本就不关心这个client的存在每次都觉得它是来自一个新的client.   那这到底是怎么回事呢OK让我们在Page_Load里面加上一句Session[variable1]testvalue然后 再做一下测试。Bingo, 现在Session ID就保持一致了。我想很多人也许以前就没有注意到这点。这里我们可以得出一个结论要建立一个持续的Session咱们需要至少使用一下Session变量用行话来说就是要至少往Session Dictionary中写入一次。   不过值得注意的是这只是个必要条件还不是充分条件。   在提到下一个必要条件前我们先来弄清一件事如果我们在程序中间有Global.asax,里面有Session_OnStart, Session_OnEnd上面的实验是不会成功的。原因是一旦定义了Session_OnStart处理函数后Session的state就总是会被保存了即使里面是空的这样的话Session ID就不会改变了。因为Session这东西还是消耗资源的所以在ASP.NET Web App中如果没有必要你就不要把Session_OnStart, Session_End写在Global.asax中。   上面的实验中我们也可以看到如果Session ID在变化我们就跟踪不到Session_OnEnd, 一旦稳定下来Session_OnEnd就出现了。   现在我们再来谈谈另一个条件还是先从实验做起我们在刚才例子的基础上(包括Session_OnStart, Session_OnEnd)在Page_Load的Session那行的下面加上一句Session.Abandon(). 再来运行一把咦这时你会发现一点奇怪的地方, Session_OnEnd不执行了尽管Session_OnStart执行过了一遍。这里我们需要写一些log语句来观察到而且如果我们把Session.Abandon()写在Button.OnClick事件里面Session_OnEnd就立马执行了。奇怪吧 这里有什么区别呢   这样第二个必要条件就引发了要让Session_OnEnd成功执行至少要有一个Request已经被完整地执行过。上面的第一种情况在Page_Load中就中止的话第一个Request都没有执行完毕Session_OnEnd就没法激发了。   综合这两个必要条件我们终于可以得出要让Session_OnEnd执行的充分条件了   ◆ 至少有一个Request成功完整地执行   ◆ 至少存储一些data在Session State中。可以通过Session变量或者加上Session_OnStart来实现。   最后声明一点Session_OnEnd只在InProc模式中支持也就是说只在Session Data在ASP.NET worker process中时支持。   ASP.NET Session的七点认识就谈到这里对于ASP.NET Session的理解是不是有所帮助呢   转自:http://www.52cfml.com/post/104.html 本文转自武沛齐博客园博客原文链接http://www.cnblogs.com/wupeiqi/archive/2012/11/14/2770587.html如需转载请自行联系原作者
http://www.pierceye.com/news/904122/

相关文章:

  • 东莞网站建设dgjcwlwordpress添加活动
  • 广州互邦物流网络优化建站关于网站开发的请示
  • 贵阳手机银行app论坛seo招聘
  • 太原建设北路小学网站铜仁市网站建设
  • 网站换服务器怎么做哪个公司做公司网站好
  • 东莞营销网站建设报价阿里云服务器部署网站
  • 品牌企业建站如何建设网站兴田德润简介呢
  • 思行做网站北京西站到大兴机场
  • 长沙网页制作模板的网站c++编程软件
  • 网站备案 人工审核安卓软件下载安装
  • 网站建设公司 专题制作怎么注册订阅号
  • 网站运营内容包含哪些深圳标本制作
  • wordpress 微信导航站南昌有哪些企业网站
  • 网站开发需要的人员南京手机网站
  • 上海网站建设知识 博客网站建设数据库的购买
  • 足彩网站开发网站建设 网站制作
  • 网站开发 定制 多少 钱小程序加盟代理前景
  • 河南网站建设官网wordpress博客主题哪个好
  • 网站建设会计帐务处理青岛发现51例阳性
  • 保定三金网络科技有限公司windows优化大师是哪个公司的
  • 华丰建设股份有限公司网站深圳影视广告在哪里好
  • 企业建设网站需要服务器吗谷德设计网官网首页入口
  • 新手学做网站步骤天津制作网站的公司电话
  • 做网站同行php网站开发平台下载
  • 国外风格网站企业宣传片制作公司哪家好
  • 如何做双版网站wordpress 36kr
  • 东莞企石网站设计最新便民信息汇总
  • 浏阳做网站公司做网站app优惠活动的
  • 商务网站开发公司2021网页qq登陆
  • vs 网站开发教程docker 部署wordpress