博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net 用sqlserver 实现session共享 (100%成功)
阅读量:4313 次
发布时间:2019-06-06

本文共 2280 字,大约阅读时间需要 7 分钟。

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

一,配置原因描述:   

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

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

 

二,实现配置

    语言: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 AS10 11 SET @appName = LOWER(@appName)12 SET @appId = NULL13 14 --查询AppName对应的AppId15 --次处进行了修改,使每个AppId都是一样.16 SELECT top 1 @appId = AppId17 FROM [hnAuto].dbo.ASPStateTempApplications18 --WHERE AppName = @appName19 20 --如果没有查询到AppId21 IF @appId IS NULL22 BEGIN23     BEGIN TRAN24         --锁定模式查询25         SELECT @appId = AppId26         --SELECT top 1 @appId = AppId27         FROM [hnAuto].dbo.ASPStateTempApplications WITH (TABLOCKX)28         WHERE AppName = @appName29         30         --如果没有查询到AppId31         IF @appId IS NULL32         BEGIN33             --获取AppName的HashCode34             EXEC GetHashCode @appName, @appId OUTPUT35             36             --插入新AppId37             INSERT [hnAuto].dbo.ASPStateTempApplications38             VALUES39             (@appId, @appName)40             41             IF @@ERROR = 2627 42             BEGIN43                 DECLARE @dupApp tAppName44             45                 SELECT @dupApp = RTRIM(AppName)46                 FROM [hnAuto].dbo.ASPStateTempApplications 47                 WHERE AppId = @appId48                 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             END52         END53     COMMIT54 END55 56 RETURN 0

 

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

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

1  
2

 

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

  好了,我的解说完成了.

转载于:https://www.cnblogs.com/zhangwei595806165/archive/2013/03/08/2949938.html

你可能感兴趣的文章
js自动补全实例
查看>>
VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“
查看>>
npm 安装 sass=-=-=
查看>>
WINFORM中加入WPF控件并绑定数据源实现跨线程自动更新
查看>>
C#类对象的事件定义
查看>>
各类程序员学习路线图
查看>>
HDU 5510 Bazinga KMP
查看>>
关于select @@IDENTITY的初识
查看>>
ASP.NET MVC ajax提交 防止CSRF攻击
查看>>
关于CSS伪类选择器
查看>>
适用于带文字 和图片的垂直居中方法
查看>>
Part 2 - Fundamentals(4-10)
查看>>
使用Postmark测试后端存储性能
查看>>
NSTextView 文字链接的定制化
查看>>
第五天站立会议内容
查看>>
CentOs7安装rabbitmq
查看>>
(转))iOS App上架AppStore 会遇到的坑
查看>>
解决vmware与主机无法连通的问题
查看>>
做好产品
查看>>
项目管理经验
查看>>