ASP.NET会话(Session)模式(2)
说明:只要安装了 .Net Framework v1.0/v1.1 ,都拥有此服务。
3、 更改 Web.config
打开 Web.config → 找到 <sessionState> 节点内容
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20" />
→ 将其改为以下内容
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.0.2:42424" timeout="20" />
注意事项:
a)、设成StateServer 后,必须要有对应的stateConnectionString
b)、注意 IP 地址(可以是远程计算机 IP、计算机名称、域名)与端口号,端口号需与ASP.NET State Service 的服务端口一致
三、 将 Session 放入 SQLServer 保存
SQLServer 模式就是,把Session 存放在 SQL Server 数据库里(注意不是 Oracle ,动动脚趾都能猜到原因啦),下面开始说明一下设置的具体步骤:
1、 启动相关的数据库服务(如图)
运行SQL Server 服务管理器 → 启动 SQL Server (最好设为开机自动运行) → 启动 SQL Server Agent 服务(最好设为开机自动运行)
注意事项:
a)、注意启动顺序,也可通过下列方式设置: 右键点击“我的电脑”→ 管理 → 服务与应用程序 → 服务 → 找到“MSSQLSERVER”与“SQLSERVERAGENT” → 启动并设置启动类型为“自动”
b)、SQL Server Agent在此处的作用是清除数据库中已过期的 Session
2、 建立存放 Session 的 DataBase
运行“SQL 查询分析器”→ 使用“sa”或是拥有“master”的 db_owner 权限的用户登录数据库 → 打开查询文件 C:/WINNT/Microsoft.NET/Framework/v1.1.4322/InstallSqlState.sql (存放在 Windows 系统目录的 .Net 安装目录下可找到) → 直接运行该 sql 脚本 → 刷新数据库即可看到名为 ASPState 的 DataBase
3、 建立连接数据库 ASPState 的用户,并为此用户授权(此步骤可跳过)
进行此步的原因是:一是不想在 Web.config 中出现 sa 的密码;二是 tempdb 在数据库启动后仅保留 sa 一个帐号的使用权限,其余帐号的权限统统被清除,但保存 Session又需要用到此 DataBase;
A)、运行 SQL Server 的企业管理器 → 展开数据库的安全性 → 右击“登录” → 新建“登录” → 输入“名称” → 选择 “SQL Server 身份验证” → 输入“密码” → 指定“数据库” → 点击“数据库访问” → 勾选 “ASPState” → 选中“db_owner”角色 → 点击“确定” → 再一次输入“密码” → 点击“确定” 后即可建立 ASPState 的用户(此处建立名为“SessionStateUser”,密码为“123456”的测试用户)
相关新闻>>
- 发表评论
-
- 最新评论 更多>>