公司搞了个办公系统,由于一些模块多人分开开发的而事先也没规划好,到把一些模块合起来的时候Session共享就是个问题了(郁闷啊为啥不事先规划好呢~~~~),网上找了不少方案,总结了主要以以下几种:
Session存放到数据库,不管多站点还是虚拟目录调用都是方便的来
通过Cookie方式传递,同一站点不同虚拟目录可以共享主站的Cookie的
跨应用程序进行 Forms 身份验证
通过WebService或类似WebService的方式返回主站的Session内容
把多个虚拟目录下的.net程序合并起来,当然这个合并最好是这几个.net程序编写风格上最好类似,要不会产生不少额外的工作量,到时候是很头痛的
注意:不存在其它更方便的更直接的Session共享方式了,看到此日志的朋友也就别再苦苦搜索了,以上的几种解决方案选一种吧。中间两种方式特别要注意数据的加密及请求Session数据来源来验证
没特别说明的均为同一Web站点,把当前Web站点的Session值共享给其下的虚拟目录中的.net应用程序。