asp.net 用sqlserver 实现session共享 (100%成功)

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 亲爱的朋友, 下载此文档,我想你一定跟我一样,因为session共享问题,一直苦无良策吧? 为此,我试验了很多种方法,都不能成功!后来经常不断尝试,最终发现了原因,终于解决了. 一,配置原因描述:    共享session是因为在公司开发时,WEB发布到服务器上要配置多个站点, 如: www.

亲爱的朋友, 下载此文档,我想你一定跟我一样,因为session共享问题,一直苦无良策吧? 为此,我试验了很多种方法,都不能成功!后来经常不断尝试,最终发现了原因,终于解决了.

一,配置原因描述:   

共享session是因为在公司开发时,WEB发布到服务器上要配置多个站点, 如: www.yd009.com  news.yd009.com product.yd009.com  这几个站点上,都 有登录 信息, 都 会在主站有链接 过来.如果主站登录了,跳到这几个二级域名,也同样可以登录状态.    在做这个之前,我也在网上查找了好多资料,,几乎没有一个是完整的.很是郁闷 ,可能大家都是为了留一手.

http://www.cnblogs.com/dfsxh/archive/2009/10/09/1579579.html

http://www.cnblogs.com/yizhu2000/archive/2008/04/01/1131976.html

http://hi.baidu.com/vcty2007/blog/item/ce313460f04d474eebf8f8fb.html

===太多啦.没有一个是完整的.

 

二,实现配置

    语言:asp.net 开发工具:VS2008 数据库sqlserver 2005

三,配置步骤

  1,开始运行->cmd->cd   C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(win2003 一般是这个目录)

  2,aspnet_regsql.exe -sstype c -ssadd -d 你的数据库名 -U 用户名 -P 密码 -S 数据库服务地址

  3,修改里面的存储过程

    

 1 set ANSI_NULLS ON
 2 set QUOTED_IDENTIFIER ON
 3 go
 4 
 5 
 6 alter PROCEDURE dbo.TempGetAppID
 7 @appName    tAppName,
 8 @appId      int OUTPUT
 9 AS
10 
11 SET @appName = LOWER(@appName)
12 SET @appId = NULL
13 
14 --查询AppName对应的AppId
15 --次处进行了修改,使每个AppId都是一样.
16 SELECT top 1 @appId = AppId
17 FROM [hnAuto].dbo.ASPStateTempApplications
18 --WHERE AppName = @appName
19 
20 --如果没有查询到AppId
21 IF @appId IS NULL
22 BEGIN
23     BEGIN TRAN
24         --锁定模式查询
25         SELECT @appId = AppId
26         --SELECT top 1 @appId = AppId
27         FROM [hnAuto].dbo.ASPStateTempApplications WITH (TABLOCKX)
28         WHERE AppName = @appName
29         
30         --如果没有查询到AppId
31         IF @appId IS NULL
32         BEGIN
33             --获取AppName的HashCode
34             EXEC GetHashCode @appName, @appId OUTPUT
35             
36             --插入新AppId
37             INSERT [hnAuto].dbo.ASPStateTempApplications
38             VALUES
39             (@appId, @appName)
40             
41             IF @@ERROR = 2627 
42             BEGIN
43                 DECLARE @dupApp tAppName
44             
45                 SELECT @dupApp = RTRIM(AppName)
46                 FROM [hnAuto].dbo.ASPStateTempApplications 
47                 WHERE AppId = @appId
48                 
49                 RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and ''%s''. Please rename the 1st application to resolve the problem.', 
50                             18, 1, @appName, @dupApp)
51             END
52         END
53     COMMIT
54 END
55 
56 RETURN 0 

 

    以上的过程 ,你可以复制进去运行就可以了.

   四,修改 web.config   在system.web 加入或修改以下项      

1  <httpCookies domain="news.com" />
2       <sessionState mode="SQLServer" sqlConnectionString="data source=[Server];initial catalog=[DataBase];user id=[UserName];password=[Password]" allowCustomSqlDatabase="true"  timeout="120"/>

 

   五,OK,你大功告成了.记得重启一下IIS ,最好把自己本机上的cookie或垃圾项清除一下,这样效果更好.

  好了,我的解说完成了.

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
5天前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
43 0
|
5天前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
43 0
|
5天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
23 0
|
5天前
|
SQL 数据库连接 数据库
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
108 0
|
7月前
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
56 0
|
10月前
|
SQL 开发框架 前端开发
ASP.NET Core+Element+SQL Server开发校园图书管理系统(完)
ASP.NET Core+Element+SQL Server开发校园图书管理系统(完)
99 0
|
5天前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
48 0
|
5天前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
33 0
|
5天前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
122 5
|
9月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
126 0

热门文章

最新文章

相关实验场景

更多