数据库实现多站点共享Session

多站点共享Session有很多方法,多站点共享Session常见的做法有:

  • 使用.net自动的状态服务(Asp.net State Service);
  • 使用.net的Session数据库;
  • 使用Redis等缓存。
  • 使用Cookie方式实现多个站点间的共享,但是这种方式只限于几个站点都在同一域名的情况下;

这里主要介绍数据库的形式存储Session,来实现多站点共享Session。

1.新建web站点,添加setSession.aspx 等页面,如下图:

2.修改web.config 配置,增加 sessionState配置是让 Session 保存在数据库中

具体配置如下:

<sessionState mode="SQLServer" timeout="40" allowCustomSqlDatabase="false" sqlConnectionString="data source=XXX;uid=sa;password=sasa"/>

网站部分这样就好了,发布成两个不同的网站,http://localhost:8097和http://localhost:8098。

3.配置session的sqlserver 模式

网站创建好之后,下面就是要配置据库,具体配置方法,参考前一篇博客:Session的SqlServer模式的配置

4.共享SessionID

ASPStateTempSessions 表中的SessionID ,包括两个部分:网站生成的24位SessionID及8位AppId组成,对于不同的站点,其AppId和AppName也不同,在能够在不同站点下Session共享,就得保证这个32位的SessionID 一致,所以可以通过修改存储过程TempGetAppID,使其得到的SessionID与AppName无关,修改TempGetAppID如下:

修改完之后,重启一下各站点。再在浏览一下网站,两个网站能获取到同一个session了:

数据库实现多站点共享Session的更多相关文章

  1. nginx 负载均衡、用数据库存储Session,来实现多站点共享Session[转]

    多站点共享Session常见的作法有: 1.使用.net自动的状态服务(Asp.net State Service); 2.使用.net的Session数据库: 3.使用Memcached. 4.使用 ...

  2. nginx Win下实现简单的负载均衡(2)站点共享Session

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

  3. nginx 负载均衡,多站点共享Session

    原文:nginx 负载均衡,多站点共享Session nginx 负载均衡,多站点共享Session 多站点共享Session常见的作法有: 使用.net自动的状态服务(Asp.net State S ...

  4. .net学习笔记----二级域名站点共享Session状态

    前面一篇文章提到了如何在使用了ASP.NET form authentication的二级站点之间共享登陆状态, http://www.cnblogs.com/jzywh/archive/2007/0 ...

  5. ASP.NET二级域名站点共享Session状态

    我的前面一篇文章提到了如何在使用了ASP.NET form authentication的二级站点之间共享登陆状态, http://www.cnblogs.com/jzywh/archive/2007 ...

  6. linux php 中session 多站点共享session问题

    linux php 中session默认file 假如修改为redis php.ini session.save_handler = "files"; session.save_p ...

  7. Nginx + IIS实现负载均衡 Session多站点共享

    日子过得太索然无味了,研究了一下,所谓的负载均衡(主要是windows服务器IIS下的).先看看分析图:环境:linux服务器: centos 6.3windows服务器: windows serve ...

  8. 使用 Redis 共享 Session 会话

    储存模式 1.InProc模式 这是ASP.NET默认的Session管理模式,在应用进程内维护Session. 2.StateServer模式 这是在服务器装了.NET环境后自带的一个StateSe ...

  9. .NET二级域名共享Session

    ASP.NET二级域名站点共享Session状态 今天, 我要写的是如何在二级域名站点之间,主站点和二级域名站点之间共享Session. 首先, Session要共享,站点之间SessionID必须要 ...

随机推荐

  1. 创建mysql 存储过程

    CREATE PROCEDURE `test_insert_stu`() BEGIN DECLARE num INT; SET num = 0; WHILE (num<10) DO insert ...

  2. Boundary Following Algorithm

    又一个精妙的算法. 输入: 组成一个region, 或者它的boundary的点集\(P\) 输出: 这个region 顺时针(或相反)的有序排列的边界点. 算法详细: 见图. 详见 DIP 11.1 ...

  3. static 静态导包

    静态导入 ArrayUtils 类的 INDEX_NOT_FOUND 属性和 add 方法 import static org.apache.commons.lang3.ArrayUtils.INDE ...

  4. Java类加载器总结

    1.类的加载过程   JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示: 1) 装载:查找并加载类的二进制数据: 2)链 ...

  5. 新手该学习Python2.x版本还是3.x版本

    如果你是一个初学者,或者你以前接触过其他的编程语言,你可能不知道,在开始学习python的时候都会遇到一个比较让人很头疼的问题:版本问题!!是学习python2 还是学习 python3 ?这是非常让 ...

  6. Struts2拦截器模拟

    前言: 接触Struts2已经有一段时间,Student核心内容就是通过拦截器对接Action,实现View层的控制跳转.本文根据自身理解对Struts2进行一个Java实例的模拟,方便大家理解! 示 ...

  7. 如何利用SmartGit将一个已经写好的项目push到github

    首先在github上创建一个repository, 然后在SmartGit中 点击有上角的repository然后选择Add or Create...然后点击那个文件夹的图标之后选中自己的项目的问题件 ...

  8. bzoj1121: [POI2008]激光发射器SZK

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  9. UOJ34 多项式乘法

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  10. UVa 101 The Blocks Problem Vector基本操作

    UVa 101 The Blocks Problem 一道纯模拟题 The Problem The problem is to parse a series of commands that inst ...