1、同服务器、同一域名、不同应用(端口、虚拟目录等)
这种很简单,把sessionState保存到SQLServer,aspnet_regsql之后,修改存储过程TempGetAppID,把 SET @appName = 置为一个固定字符串即可。这种方案网上一搜一大把,不赘述。

2、同服务器、域名相同,子域名不同
这个比较折腾人,基础的处理方案网上也很多,也就是使用SQLServer保存Session,然后添加machineKey和httpCookies Domain设置,相当简单,不赘述。也巧了,测试时手贱在hosts里就用了 .cc.cn 域名,然后问题来了,Firefox/Chrome都没问题,可IE就是死活怎么都不行,各种折腾,各种搜索,就是不行。因为这方案是基于cookies的,后来深入测试发现cookie没有被IE正确保存,好像直接丢弃了,导致每次访问页面都生成不同的SessionID,把web.config中httpCookies Domain设置的行去掉,SessionID就不再变化了,但去掉就不能实现Session共享了。搞了两天,最后终于在E文网站上看到一个类似的问题里提到一个词“TLD”,根据E文的大概意思简单处理了一下,把 .cc.cn 测试域名改为 .cc.com,立刻一切OK了!深入搜索发现原来域名还是分三六九等的,最初的TLD七大顶级域名是.COM、.NET、.ORG、.INT、.EDU、.GOV、.MIL,我朝的.CN域名是近几年才有的,所以IE对它的支持还存在问题,看起来IE好像挺严格的,其实个人感觉IE太过于腐朽,任何一点改变对它来说都是艰难的事情,在这方面Firefox/Chrome就比IE开明多了。继续深入搜索发现好像IE6之后对TLD的支持进行了一些改进,支持长度超过5位的.cn域名(比如xxx.cn)或者三级域名(比如xx.cc.cn),有文章提到短cn域名可以通过根域名下某个路径内的页面写入cookie并且不要设置domain的值,比如在页面 http://a.cn/xxx 中写cookie,这样IE才会把cookie正确设置到a.cn,由于搞清了原因,而且项目站点的cn域名大于三个字符,项目已正常工作,就未再深入测试,需要的朋友可以试试看。

3、不同服务器、域名相同,端口不同
这种情况一般是做集群的时候,本人是在问题2的搜索过程中看到的,由于本人的项目并未涉及这个情况,所以并未深入研究,只记得有个要点说两台服务器的IIS设置要修改SiteID保持相同才行,需要的朋友请自行研究。

4、不同服务器、不同域名
这种方法好像比较复杂一点,简单了解了一下,关键词是P3P和iframe,需要的朋友请自行深入了解。

Session共享的简单总结的更多相关文章

  1. 玩转spring boot——负载均衡与session共享

     前言 当项目上线后,如果要修复bug或扩充功能,都需要重启tomcat服务.此时,正在使用应用的用户们就需要等待服务器的重启,而这就会造成不好的用户体验.还有,当仅仅只有一台tomcat服务时,如果 ...

  2. 【nginx+tomcat集群】Nginx1.12.2+Tomcat7集群+负载均衡+Session共享

    今天想着将项目优化一下,就想的实现集群分布,在本机测试:利用nginx+tomcat实现 通过上一篇博客(http://www.cnblogs.com/qlqwjy/p/8535235.html),N ...

  3. Spring Boot 一个依赖搞定 session 共享,没有比这更简单的方案了!

    有的人可能会觉得题目有点夸张,其实不夸张,题目没有使用任何修辞手法!认真读完本文,你就知道松哥说的是对的了! 在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是 ...

  4. 分布式集群Session共享 简单多tomcat8+redis的session共享实现

    ; i++) { str = str + session.getAttribute("name" + i) + "<br>"; } response ...

  5. nginx+tomcat9+redisson+redis+jdk1.8简单实现session共享

    一.环境安装 由于资源限制,在虚拟机中模拟测试,一台虚拟机,所有软件均安装到该虚拟机内 安装系统:CentOS Linux release 7.4.1708 (Core) CentOS安装选择版本:B ...

  6. Tomcat中session共享问题的简单解决办法

    tomcat-redis-session-manager 使用redis配置tomcat共享session 结构图: 分析: 分布式web server集群部署后需要实现session共享,针对 to ...

  7. Nginx反向代理,负载均衡,redis session共享,keepalived高可用

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  8. 分布式中使用Redis实现Session共享(二)

    上一篇介绍了一些redis的安装及使用步骤,本篇开始将介绍redis的实际应用场景,先从最常见的session开始,刚好也重新学习一遍session的实现原理.在阅读之前假设你已经会使用nginx+i ...

  9. Redis安装及实现session共享

    一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...

随机推荐

  1. eclipse查看 rt.jar 源码

    源码位置: %JAVA_HOME%/src.zip step1: step2: step3:

  2. LRESULT与wParam和lParam的问题

    在微软vc提供的头文件中有定义在winnt.h中typedef long LONG;在windef.h中typedef LONG LRESULT; 所以LRESULT就是long,也就是长整形之所以取 ...

  3. ]用EnumChildWindows遍历窗口的方法

    最近项目有需要,得到一个非自己实现的窗口控件对象.于是想起曾经做过类似功能.总结如下: 调用EnumChildWindows(this->m_hWnd, EnumChildProc, NULL) ...

  4. HDU 2437 Jerboas (剪枝搜索)

    题意:给定一幅图,图上有两种点T,P.......一只跳鼠在一个T点作为起始点,它想通过图上的路到达某个P点,P点满足如下要求: (1).到达P点的途中路径权值为k的倍数 (2).尽量让路径权值取最小 ...

  5. Apache服务器配置默认首页文件名和网站路径

    默认首页的配置: 第一种:直接修改apache服务器的配置文件./conf/httpd.conf中的DirectoryIndex,如:(项目web以index.php为首页) <IfModule ...

  6. 在jybot下跑Selenium2Library

    应用场景:项目组要将原有SeleniumLibrary写的脚本切换到Selenium2Library(后称S2L)下,但是原来有很多Java写的库,综合考虑认为还是在Jython下跑比较合适.但是安装 ...

  7. Mes首检确认统计的存储过程

    USE [ChiefmesNEW]GO/****** Object: StoredProcedure [dbo].[st_MES_RptInspectFirstCollect] Script Date ...

  8. easyui grid中翻页多选方法

    <table class="easyui-datagrid" title="人员选择" id="dg" data-options=&q ...

  9. github 多帐户使用

    同一台电脑有2个github账号?咋办 比如一个公司账号一个个人账号. 私人账号如下: 邮箱example@126.com 账号:example 公司工作账号如下: work@xx.com 账号:my ...

  10. Theatre Square

    http://codeforces.com/problemset/problem/1/A Theatre Square time limit per test 2 seconds memory lim ...