sessionState配置方案样本

上传人:飞****9 文档编号:21324294 上传时间:2021-04-28 格式:DOCX 页数:9 大小:18.68KB
返回 下载 相关 举报
sessionState配置方案样本_第1页
第1页 / 共9页
sessionState配置方案样本_第2页
第2页 / 共9页
sessionState配置方案样本_第3页
第3页 / 共9页
点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。配置 SQL Server Session方法以下过程是在 WinSP2 + IIS 6.0, ASP.NET 2.0, SQL Server下进行的。1. 安装 Session 数据库到 Framework 目录C:WINDOWSMicrosoft.NETFrameworkv2.0.50727运行下面的命令 :aspnet_regsql.exe -ssadd -sstype c -d DB -S ServerE如果想让 Session 数据库支持所有功能 , 请运行下面的命令 :aspnet_regsql.exe -ssadd -A all E-E 是使用 Windows认证 ,也能够使用数据库认证 :aspnet_regsql.exe -ssadd -sstype c -d DB -S ServerU User Name P Password在指定的 SQL Server 服务器的指定数据库中建立Session 数据库 , 能够是个单独的数据库 ,也就是能够是程序所用的数据库,也能够不给名字 ,那么会使用一个默认的数据库名称。创立完成后,在 Sql Server里给上相应的帐号权限。2.修改 web.config:如果使用默认的数据库名称,如下 :这样 ,程序的Session就会存储到数据库中了,有一点需要注意的是,这样配置以后 ,存到Session中的对象必须是可序列化的,如果是自定义的类,那么就要加上Seriablizable属性。SessionState-06-14 22:45:57随着 .net 版本不断升级 , sessionState配置中需要注意的问题 :1、 InProc模式不稳定 ,比如bin目录的文件更改或杀毒软件等都易导致session丢失。2 、 StateServer模 式 ,Web.config文 件中,运行一下aspnet_state.exe,将stateConnectionString然后启动服务。在设 置为 诸 如tcpip=dataserver:42424这样的值。3、 SQLServer 模式注意的比较多。( 1) .net2.0以上 ,建议不要使用aspnet_regsql.exe工具 ,而应该使用命令行 ,如aspnet_regsql-C Data Source=.;IntegratedSecurity=True-ssadd资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。-sstype c-d SessionStateDB原因是使用工具容易产生错误 : SQL 服务器上未安装 ASP.NET 2.0 版会话状态 , 因此无法使用 SQL Server 。请安装 ASP.NET 会话状态 SQL Server 2.0 版或更高版本。此 时 的 配 置 文 件 应 该 是 如 下 格 式 :( 2) 当机器上同时存在 .net1.1和.net2.0 的时候 , 建议使用 .net2.0的脚本。( 3) SQLServer 模式容易带来效率上的开销 , 每个页面都会对数据库进行读写2次操作。解决办法在 web.config文件中的 system.web 下的 page 修改属性 ,如或者,在 ioffice 中一般使用 readonly 。同时把需要改写 session 的页面的 EnableSessionState=True,一般是登录登出页面。下面讲述实现过程。找到这个文件c:WINNTMicrosoft.NETFrameworkv1.0.2914 InstallSqlState.sql这个文件 ,装入 sqlserver( 不要告诉我不会 )-不是简单”装入” ,而是要用 aspnet_regsql.exe直接在” Visual Studio命令提示”命令行中运行aspnet_regsql.exe默认是会出 GI 的向导。-卸载时也是此命令 ,在 GI 向导的第一步会有两个选择 ,是安装还是卸载。让数据库支持所有功能 : 执行以下命令aspnet_regsql.exe -S -U -P -A all资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。在 InstallSqlState.sql中的开始的注释也说 :PRINT PRINT -PRINT Starting execution of InstallSqlState.SQLPRINT -PRINT -PRINT Note:PRINT Do not run this file manually.PRINT You should use aspnet_regsql.exe to installPRINT and uninstall SQL session state.PRINT PRINT Run aspnet_regsql.exe -? for details.PRINT -GO我用的命令是 aspnet_regsql.exe -U sa -ssadd其中 -ssadd是 session_state_add的意思 , 大概 . 上面命令的结果是生成了ASPState 数据库 , 应该是调用了InstallSqlState.sql的结果 .2 修改 web.config , 不是 userid 而是 uid我遇到的错误是 : -直接 ( 装入 )-run this file manually-在查询分析器中直接运行资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。If the jobdoes notexist,an errorfrom msdb.dbo.sp_delete_jobisexpected.消息 14262,级别 16,状态 1,过程 sp_verify_job_identifiers,第 67行指定的 job_name (ASPState_Job_DeleteExpiredSessions)不存在。If the category already exists, an error from msdb.dbo.sp_add_categoryis expected.消息 14261,级别 16,状态 1,过程 sp_add_category, 第 32 行指定的 name (Uncategorized (Local)已存在。SQLServerAgent 当前未运行 ,因此无法将此操作通知它。经检查 (在 Sql Server Configuration Manager中) SQLServerAgent确实没有在运行 , 不知道如果 SQLServerAgent 在运行是否还有这些错误?*9 月 6 日ASP.NET中 Session 模型简介Session 模型简介Session 是什么呢 ? 简单来说就是服务器给客户端的一个编号。 当一台 WWW服务器运行时 , 可能有若干个用户浏览正在运正在这台服务器上的网站。 当每个用户资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。首次与这台 WWW服务器建立连接时 ,她就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID 是由 WWW服务器随机产生的一个由24 个字符组成的字符串 ,我们会在下面的实验中见到它的实际样子。这个唯一的 SessionID 是有很大的实际意义的。 当一个用户提交了表单时 , 浏览器会将用户的 SessionID 自动附加在 HTTP头信息中 , ( 这是浏览器的自动功能 , 用户不会察觉到 ) , 当服务器处理完这个表单后 , 将结果返回给 SessionID 所对应的用户。试想 , 如果没有 SessionID, 当有两个用户同时进行注册时 , 服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然 , SessionID 还有很多其它的作用 , 我们会在后面提及到。除了 SessionID,在每个 Session 中还包含很多其它信息。 可是对于编写 ASP或ASP.NET 的程序与来说,最有用的还是能够经过访问ASP/ASP.NET的内置Session 对象 ,为每个用户存储各自的信息。例如我们想了解一下访问我们网站的用户浏览了几个页面 ,我们可能在用户可能访问到每个的页面中加入: 经过以下这句话能够让用户得知自己浏览了几个页面: 资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。可能有些有些读者会问 : 这个看似像是数组的 Session( ”. ”) 是哪里来的 ? 需要我定义吗 ? 实际上 , 这个 Session 对象是具有 ASP解释能力的的 WWW服务器的内建对象。也就是说 ASP的系统中已经给你定义好了这个对象 , 你只需要使用就行了。其中 Session( ”. ” ) 中的 . 就仿佛变量名称 , Session( ”. ”)=$中的 $就是变量的值了。你只需要写上句话 , 在这个用户的每个页面中都能够访问 . 变量中的值了。其实 ASP一共内建了 7 个对象 ,有 Session 、Application、Cookie 、Response、Request、 Server等。在其它的服务器端脚本语言如JSP、 PHP 等中也有其类似的对象,只是叫法或者使用方法上不太一样。ASP Session 的功能的缺陷当前 ASP的开发人员都正在使用Session 这一强大的功能 ,可是在她们使用的过程中却发现了 ASP Session 有以下缺陷 :inetinfo.exe进程依赖性 :ASP Session状态 存于 IIS这个程序。因此当 inetinfo.exe进程崩溃时,的进程中 , 也就是这些信息也就丢失。另外 ,重起或者关闭IIS服务都会造成信息的丢失。 Session状态使用范围的局限性 : 刚一个用户从一个网站访问到另外一个网站时 , 这些 Session 信息并不会随之迁移过去。例如 : 新浪网站的 WWW服务器可能不止一个 , 一个用户登录之后要去各个频道浏览 , 可是每个频道都在不同的服务器上 , 如果想在这些 WWW服务器共享 Session 信息怎么办呢 ? Cookie的依赖性 : 实际上客户端的 Session 信息是存储与 Cookie 中的 , 如果客户端完全禁用掉了 Cookie 功能 , 她也就不能享受到了 Session 提供
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!