欢迎来到人人文库网! | 帮助中心 人人文库renrendoc.com美如初恋!
人人文库网
首页 人人文库网 > 资源分类 > DOC文档下载

外文翻译--在SQL Server数据库里存储Session.doc

  • 资源大小:460.00KB        全文页数:18页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:5
游客快捷下载 游客一键下载
会员登录下载
下载资源需要5

邮箱/手机号:
您支付成功后,系统会自动为您创建此邮箱/手机号的账号,密码跟您输入的邮箱/手机号一致,以方便您下次登录下载和查看订单。注:支付完成后需要自己下载文件,并不会自动发送文件哦!

支付方式: 微信支付    支付宝   
验证码:   换一换

友情提示
2、本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

外文翻译--在SQL Server数据库里存储Session.doc

1在SQLSERVER数据库里存储SESSIONHTTP是个状态很不确定的协议,为了允许用户通过请求保存状态信息,ASPNET提供了SESSION存储机制。这些SESSION变量按每个用户被存储起来。在传统的ASP里,你只能在WEB服务器的内存里暂时存储SESSION变量,但是这个方法已经被证明了在扩展性和可依赖性上的不足。在ASPNET里,你可以为你的每个请求定制SESSION状态存储。本文将探讨存储SESSION变量可伸缩性和可靠性都很好的方式之一的SQLSERVER。在传统的ASP里,默认的SESSION状态保存在服务器的内存中。但是,这种做法带来两方面的问题(1)它让服务器超负荷,影响了网站服务器的伸缩性能。(2)它不能有效地应用于WEB服务器群。让我在一些细节上讨论这些问题,使你能为你选择了SESSION存储感到庆幸。SESSION变量依据每个用户为基础生成。默认情况下,它们都保留在WEB服务器的内存中。想象一个有着成千上万用户的网站。由于巨大的用户数量,WEB服务器存储的活跃SESSION的数目也将非常的多。这意味着你存放着非常多的SESSION数据在WEB服务器的内存中。如果不断的对服务器增加负载,它可能达到饱和,以至造成对应用程序整体扩展性能上的不良影响。为了解决这个影响到扩展性能的问题,实现WEB集群。所谓的WEB集群是一组网络服务器并行运行,服务器集群里的每个WEB服务器都有您的网站的一个镜像。您的网站的流通负载平均分配给每个可用的服务器,从而达到负载平衡。在WEB服务器的内存里存储SESSION变量会阻碍WEB集群的建立,下面将举例来说明假定有三个WEB服务器S1,S2,和S3。并行地连接在一起接受用户请求。假定这个时候有一个请求R1来到服务器集群并且负载平衡逻辑判定S2,S3都因为某些其他的任务而没有空闲,但是S1可以处理这个请求。很显然,这个请求会被送到S1进行处理。现在,想象在这个处理过程当中你在S1的内存中存储了某个SESSION变量。到目前为止,一切还很好。过了一些时间,同样的用户有了另一个请求R2,这个请求需要上一个请求所存储的SESSION变量。但是这个时候S1已经被一些任务使用着,而S2,S3却处于空闲的状态。你可以猜到根据每一条的负载平衡规则,R2将会被送到S2进行处理。但是,如果那发生了,S2怎么能够得到SESSION变量毕竟,它们存储在和S2完全没有任何关联的WEB服务器S1的内存中。这意味着R2仍然得等待S1的空闲。这种事情很显然是WEB服务器群资源的浪费。ASPNET20及其SESSION信息存储2ASPNET20允许你存储SESSION变量在三个不同地方(1)在网站服务器的内存中存储进程中的。(2)在一台专门用来存放SESSION变量的服务器中存储。SESSION状态信息存储服务器(3)在一个SQLSERVER的数据库里面存储。默认情况是第一种存储模式。模式二和模式三通常被称为“进程外”的模式,因为SESSION变量的存储和WEB站点没有关系。在这篇文章,你将被限制在只探索第三种模式。在SQLSERVER数据库里存储SESSION变量具有以下优点(1)可扩展性如果您正在找一个高度可扩展性的方法来储存SESSION变量,SQLSERVER正是如此,它比其它的可扩展性更好。WEB服务器群可以很容易地获取SESSION变量,因为它们都储存在一个独立的数据库。(2)可靠性因为数据是很真实的存放在数据库里面,它比其他方法都要好。不用去担心服务器重启的问题。(3)安全SQLSERVER比在内存或SESSION状态信息存储服务器中更安全。你可以更简单的通过配置SQLSERVER的安全选项来保护你的数据。在WEBCONFIG文件里,可以通过定义一个SESSIONSTATE来配置SESSION状态模式。备注如果是在WEB服务器群里,WEB服务器群的每一台服务器的IISMETABASE的应用程序路径应该是完全相同的。SESSION结束事件不会因为任何进程之外的模式发生。配置SQLSERVER来储存SESSION状态在你真正的在SQLSERVER存储SESSION状态之前,你需要先配置它。配置工作都是通过一个名为ASPNET_REGSQLEXE的命令行工具来完成的。在SQLSERVER里面,你可以在三个可能的地点存储SESSION状态,1临时存储在这种情况下,SESSION状态保存在SQLSERVER的TEMPDB数据库里面。该工具建立一个数据库名为ASPSTATE并增加特定的存储过程来管理要保存的SESSION信息。这个工具还创建TEMPDB数据库所需的表。如果您重新启动SQLSERVER服务,SESSION信息不会丢失。32持久存储该工具建立一个数据库名为ASPSTATE并增加特定的存储过程来管理要保存的SESSION信息。SESSION状态信息储存在ASPSTATE数据库里。这种方法的优点是,即使您重新启动的SQLSERVER。SESSION信息也不会丢失。2定制存储SESSION状态信息和数据存储过程都有用户定制存储。同时数据库的名称必须在配置文件中声明。下面的表列出了这个工具与SESSION存储配置相关的各种命令行开关命令行开关备注SSERVER指定你想要存储SESSION状态信息的SQLSERVER服务器的IP地址或者服务器名。U指定和SQLSERVER连接时使用的用户名。P指定和SQLSERVER连接时使用的用户的密码。E指出你想要连接的SQLSERVER服务器需要完整的安全策略SSADD添加支持服务器模式的SESSION状态SSREMOVE移除支持服务器模式的SESSION状态SSTYPESESSION状态支持的类型,一下是可以支持的类型T代表临时存储P代表持久存储C代表定制储存DDATABASE用于使用的数据库的名字如果要转换SSTYPE,就用命令“C“表单和创建的存储过程作为一个开发人员,你可能从来无法直接影响SESSION状态数据库。然而,当你运行ASPNET_REGSQLEXE工具,你将会对表单和数据库的创建会有一个很好的理解。4配置1在SQL数据库服务器中创建表单配置2在数据库服务器中创建存储过程配置你的网站来存储SESSION状态一旦你配置你的SQL服务器来支持SESSION状态存储,下一步就是配置你的网站了。WEBCONFIG的标记SESSIONSTATE允许你指定SESSION存储的信息。下列的表中列出了一些这个标记得重要属性属性描述MODEMODE属性可以使用一下的几个值OFF指示这个SESSION状态关闭INPROC指示这个SESSION将被存储在WEB服务器的内存中。这是默认的设置STATESERVER指示这个SESSION将被储存在一个状态服务器中SQLSERVER指示这个SESSION将被储存在一个SQL服务器的数据库中CUSTOM指示你将会有一个定制的SESSION存储机制,这个机制使用了ASPNET的提供的模式SQLCONNECTIONSTRING如果模式被设置为SQL服务器,你必须指定这个属性。这个属性指定了那个SQL服务器数据库的连接字符串。这个数据库的是用来进行状态的存储的。注意,如果你使用了临时的

注意事项

本文(外文翻译--在SQL Server数据库里存储Session.doc)为本站会员(英文资料库)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(发送邮件至[email protected]或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5