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. 【待补】java开发Web Service

    Java中WebService实例 http://blog.csdn.net/kardelpeng/article/details/6321019 java 调用webservice的各种方法总结 h ...

  2. MySQL 日期时间

    NOW()函数以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中.CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DAT ...

  3. 转载:rebar和erlang

    使用rebar生成erlang release 并进行热代码升级 http://blog.sina.com.cn/s/blog_6530ad590100wmkn.html 使用rebar工具开发erl ...

  4. 开发extjs常用的插件

    Spket是目前支持Ext 2.0最为出色的IDE. 它采用.jsb project file 文件并将继承于基类和所有文档的内容嵌入到生成代码提示的Script doc中.注:不支持配置项的代码提示 ...

  5. Bit Twiddling Hacks

    http://graphics.stanford.edu/~seander/bithacks.html Bit Twiddling Hacks By Sean Eron Andersonseander ...

  6. js查看浏览器类型和版本

    var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; var scan; (s = ua.match(/msie ([\d. ...

  7. 书写CSS需要注意的地方

    1.注意对图片设置宽高和转化为块2.文字超出的设置3.空白部分用空div来设置4.做之前考虑重用,重用部分命名不要和内容相关 尽量公共(comWidth area small big img list ...

  8. 远程调用WMI安装软件

     Invoke-WMIMethod  -ComputerName $ip -Credential $cred -path Win32_product -Name Install -ArgumentLi ...

  9. Codeforces Round #340 (Div. 2) D. Polyline 水题

    D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...

  10. Fox Roddick interviw Federer before 2013 US Open

    talk about  Mike Jordan , talk about Tiger Woods, their competitor when people discuss you I love wi ...