关于Session的使用和优化

优点

  如果要在诸多Web页间传递一个变量,那么用Session变量要比通过QueryString传递变量可使问题简化。
  要使WEb站点具有用户化,可以考虑使用Session变量。你的站点的每位访问者都有用户化的经验,基于此,随着LDAP和诸如MS Site Server等的使用,已不必再将所有用户化过程置入Session变量了,而这个用户化是取决于用户喜好的。

  你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放。
缺点
  Session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个Session变量!
  当一个用户访问某页面时,每个Session变量的运行环境便自动生成,这些Session变量可在用户离开该页面后仍保留20分钟!(事实上,这些变量一直可保留至“timeout”。“timeout”的时间长短由Web服务器管理员设定。一些站点上的变量仅维持了3分钟,一些则为10分钟,还有一些则保留至默认值20分钟。)所以,如果在Session中置入了较大的对象(如ADO recordsets,connections, 等等),那就有麻烦了!随着站点访问量的增大,服务器将会因此而无法正常运行!
  因为创建Session变量有很大的随意性,可随时调用,不需要开发者做精确地处理,所以,过度使用session变量将会导致代码不可读而且不好维护。
  虽然“你可以在任何想要使用的时候直接使用session变量,而不必事先声明它,这种方式接近于在VB中变量的使用。使用完毕后,也不必考虑将其释放,因为它将自动释放”。但是,“谁”想到那儿呢?变量的含义是什么?这些都变得不很清晰。
*********************************************************************************************************************************************************************
Session使用的优化
ASP.NET 里面 SessionState有三种可以选择的模式   
方式
说明
优点
缺点
InProc
会话值在aspnet_wp.exe 或 w3wp.exe的内存中保持为活动对象。这是默认选项。
性能最好
当W3WP 进程
死掉
或者进程回收后,Session信息将会丢失。

占用Web 服务器的内存用于保存Session信息

StateServer
会话值被序列化并存储在单独进程 (aspnet_state.exe) 的内存中。该进程还可以在其他计算机上运行。
在负载均衡条件下,可以为多个Web 服务器维护Session信息

当W3WP 进程
死掉
或者进程回收后,Session信息不会丢失

性能比InProc方式差
SQL Server
会话值被序列化并存储在 SQL Server 表中。SQL Server 的实例可以在本地运行,也可以远程运行
在负载均衡条件下,为多个Web 服务器维护Session信息

当W3WP 进程
死掉
或者进程回收后,Session信息不会丢失

当Web服务器死机或者重新启动后,Session信息不会丢失.

性能比InProc方式差
缺省情况下
每个页面需要操作两次SQL Server 数据库操作。第一次读取Session,第二次写入Session.

  •   页面的EnableSessionState开关

有很多页面里面只需要从Session里面读取数据的而不需要写入数据到Session, 对于这些页面我们可以将页面标记为<%@ Page EnableSessi . . .%>。这样可以将页面执行时对SQL Server 数据库操作由两次减少为一次。
对于不需要使用Session的页面,我们可以将页面标记为<%@ Page EnableSessi . . .%>。
  • 减少Session 里面存放的数据量
由于Web Server 与存放Session的StateServer之间是通过网络来进行通信的,而且在缺省情况每个页面需从StateServer里面读取一次Session数据,写入一次Session数据。通过减少Session里面存放的数据能够使系统的性能获得提高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core端点路由中三种让人困惑的路由函数

早先提及了端点路由app.UseEndpoints, 端点路由强调的是端点和路由&#xff0c;其核心目的是将请求落地点与路由寻址方式解耦。《ASP.NET Core端点路由作用原理》这里面有几个容易混淆的函数•MapControllerRoute•MapDefaultControllerRoute•MapControllers有什么不同&#x…

java 写入环境变量_Java环境变量配置 - import_key的个人空间 - OSCHINA - 中文开源技术交流社区...

Java 环境变量和路径在 Solaris 系统上&#xff0c;必须先设置 JAVA_HOME 和 PATH 环境变量&#xff0c;Sun Management Center 3.6 安装向导、设置向导和 Java 控制台才能正常工作。与此类似&#xff0c;要使 Sun Management Center Java 控制台在 Microsoft Windows 上正常工…

电脑温度检测软件哪个好_实时检测Mac电脑的温度

想要实时检测Mac电脑的温度吗&#xff1f;那就来试试这款Temperature Gauge Pro吧。Temperature Gauge Pro又名为TG Pro&#xff0c;是一款专业的Mac实时温度的软件。这款软件能够帮助大家进行Mac中的风扇控制、温度监控和硬件诊断等功能&#xff0c;帮助大家更好的维护自己电脑…

【转】SQL SERVER 存储过程学习笔记

原文地址&#xff1a;http://www.cnblogs.com/nina-piaoye/archive/2006/09/18/507183.html 将常用的或很复杂的工作&#xff0c;预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命…

我一哥们,在东莞和五名女孩被抓了.....

1 人在东莞&#xff0c;与五名女子一起被抓现已失联▼2 羊&#xff1a;我有一句MMP&#xff0c;不知当讲不当讲▼3 这是在上网查下一步应该怎么做&#xff1f;▼4 人生处处是惊喜▼5 看似平平无奇的棉签▼6 陈独秀同学&#xff0c;有话你站在桌子上说▼7 现在的玩具都这…

取奇偶数

#取奇数……1..20|?{$_ % 2 -eq 1} #取偶数……1..20|?{$_ % 2 -eq 0} #取1、4、7、10……1..20|?{$_ % 3 -eq 1}转载于:https://www.cnblogs.com/dreamer-fish/p/4024198.html

【成长点滴】对SMART原则的一些粗浅理解

【成长点滴】对SMART原则的一些粗浅理解 以下解释来自百度百科 “所谓SMART原则&#xff0c;即是&#xff1a; S&#xff1a;(Specific) 目标要清晰、明确&#xff0c;让考核者与被考核者能够准确的理解目标&#xff1b;M&#xff1a;(Measurable) 目标要量化&#xff0c;考核时…

太神奇了!使用C#实现自动核验健康码:(2)OCR识别

前言上次太神奇了&#xff01;使用C#实现自动核验健康码&#xff1a;(1)二维码识别&#xff0c;我们已经实现了识别健康码的颜色&#xff0c;但是健康码的内容不包含时间属性。那么使用图片就可以通过检查&#xff0c;肯定是不合适的。因此&#xff0c;我们还需要读出健康码上方…

多个数求平均数java_[分享]求任意个数的平均数!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼自己编的小程序:import java.util.*;class notsure{private double numlist[];public notsure(double ... list)/*此数组个数可任意.*/{numlistlist;}public double doit(){double result0;if(numlist.length!0){int sum0;for(doub…

bo耳机h5使用说明_真香时刻·性价比大旗——红米AirDots2 TWS真无线耳机体验测评...

TWS真无线耳机经过了这几年的发展&#xff0c;在音质、连接稳定性、易用性等方面都有了长足的发展&#xff0c;价格也从最早的上千元下探到了数百元&#xff0c;真正从发烧玩家的尝鲜设备变成了大众的日常用品。我用过的TWS耳机不下数十个&#xff0c;但即使是如Bose、B&O等…

卖股技巧

买对股票只完成投资过程的一半或更少&#xff0c;接下来就是跟踪个股&#xff0c;并在股价大幅上涨之后卖掉股票&#xff0c;所以如何卖股票至关重要。笔者通过长期的研究&#xff0c;总结出了卖股的五大技巧。 技巧一&#xff1a;低于买入价8&#xff05;-9&#xff05;坚决止…

这个行业人才紧缺,就业率超高!未来大有可为!

全世界只有3.14 % 的人关注了爆炸吧知识近几年&#xff0c;伴随人工智能的兴起&#xff0c;数据分析师、算法工程师等职业也迎来需求高峰。时下人工智能是炙手可热的一个行业&#xff0c;2015-2018年&#xff0c;中国人工智能产业市场规模从112.4亿元增长至415.5亿元&#xff0…

多线程(C++)临界区Critical Sections

一 、Critical Sections&#xff08;功能与Mutex相同&#xff0c;保证某一时刻只有一个线程能够访问共享资源&#xff0c;但是不是内核对象&#xff0c;所以访问速度比Mutex快&#xff0c;但是没有等待超时的功能&#xff0c;所以有可能导致死锁&#xff0c;使用要小心&#xf…

由社区推动的 .NET 6 新 API

原文&#xff1a;bit.ly/3ykXfgJ作者&#xff1a;David Fowler翻译&#xff1a;精致码农-王亮.NET 6 即将到来&#xff0c;我想分享一些我最喜欢的 .NET 和 ASP.NET Core 中的新 API&#xff0c;你一定会喜欢&#xff0c;因为它们是由我们优秀的 .NET 开发者社区推动的。让我们…

启动与停止mysql服务的命令

在“运行”中运行如下命令&#xff1a;启动mysql: net start mysql 停止mysql: net stop mysql 转载于:https://www.cnblogs.com/qiantuwuliang/archive/2009/07/12/1521921.html

hash算法_到底什么是Hash?Hash算法的原理和实际应用讲解

提到hash&#xff0c;相信大多数同学都不会陌生&#xff0c;之前很火现在也依旧很火的技术区块链背后的底层原理之一就是hash&#xff0c;下面就从hash算法的原理和实际应用等几个角度&#xff0c;对hash算法进行一个讲解。1、什么是HashHash也称散列、哈希&#xff0c;对应的英…

java 子类 复制_关于java子类继承来的属性与方法究竟是完全复制还是共用使用...

关于java子类继承来的属性与方法究竟是完全复制还是共用使用关于java子类继承来的属性与方法究竟是完全复制还是共用使用今天在学习java的面向对象时&#xff0c;无意间发现一个问题。public class testEquals{public static void main(String[] args){Child cd1 new Child();…

关于IE某些原因导致下拉列表弹出阻止窗口的解决办法

找个N多方案&#xff0c;未果。最终还是重新安装IE解决。 原因可能是因为我同时安装的IE6&#xff0c;IE7共存导致的。转载于:https://www.cnblogs.com/23shi/archive/2010/09/29/1838747.html

女生会 P 的可不仅仅是丰胸和瘦腿......

1 打死你都想不到女生还有这种操作▼2 小朋友的大哥式道歉▼3 可能舌头和尾巴对猫来说也是另一种生物吧&#xff1f;▼4 当代年轻人的发际线▼5 这一招江湖上俗称“老汉推车”▼6 身正不怕影子斜人正不怕车子歪▼7 这位大爷太过于自信了▼你点的每个赞&#xff0c;我都认…

何时使用领域驱动设计

何时使用领域驱动设计&#xff1f;其实当你的应用程序架构设计是面向业务的时候&#xff0c;你已经开始使用领域驱动设计了。领域驱动设计既不是架构风格&#xff08;Architecture Style&#xff09;&#xff0c;也不是架构模式&#xff08;Architecture Pattern&#xff09;&a…