Session中StateServer的使用方法
最近项目中用到 Session的StateServer模式,我们知道sessionState有四种模式:off,inProc,StateServer,SqlServer。 而StateServer 是将session存储到内存中的,使用此种方式必须启动ASP.NET 状态windows服务。
StateServer
对我最大的感觉就部署在同一个server的网站,仅仅要配置一致,那么都能够对同一个Session 值进行訪问。
也就是Session能够 跨网站訪问。
以下来说使用方法
网站配置例如以下:
Web.config配置
<pre name="code" class="csharp"> <system.web>
<authentication mode="Forms">
<forms name="SSOForm" loginUrl="~/Account/Login.aspx" defaultUrl="~/Default.aspx" timeout="2880" domain="test.com" />
</authentication> <!-- 开发与測试使用server内存记录 asp.net 状态 -->
<!--<sessionState cookieName="AeroSessionId" mode="InProc" cookieless="false" timeout="100" />-->
<!-- 正式环境使用专门的 asp.net 状态server来管理 asp.net 状态 -->
<sessionState cookieName="SessionId2" cookieless="false" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="200" />
<!-- 网络之间的验证键 -->
<machineKey validationKey="9912131415161718190a0b0c0d0e0f1011121314" decryptionKey="99225577bbaa9988" validation="SHA1" /> </system.web>
全局文件global 重写Init事件
public override void Init()
{
//session内部存储key的前缀
var sessionStateStoreProvider = typeof(HttpSessionState).Assembly.GetType("System.Web.SessionState.OutOfProcSessionStateStore");
var uriBaseField = sessionStateStoreProvider.GetField("s_uribase", BindingFlags.Static | BindingFlags.NonPublic);
uriBaseField.SetValue(null, FormsAuthentication.CookieDomain);
base.Init(); }
然后其它网站配置相同的就能够互相对Sessionji
Session中StateServer的使用方法的更多相关文章
- thinkphp中cookie和session中操作数组的方法
thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...
- Session中load/get方法的详细区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...
- 取出session中的所有属性与值的方法
如果你想取出session中所有的属性和值,可以通过getAttributeNames()方法来实现,具体代码如下 //获取session HttpSession session = request. ...
- hibernate中一种导致a different object with the same identifier value was already associated with the session错误方式及解决方法
先将自己出现错误的全部代码都贴出来: hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> ...
- Hibernate中Session之get和load方法的真正区别
最近在学习SHH框架中的hibernate,对Session的get和load方法,有点混不清楚,不知道区别在哪,或者对它们的区别感触不深.所以百度了一下,结果问题来了.百度的结果和实际测试的结果出入 ...
- Hibernate中Session.get()方法和load()方法的详细比较
一.get方法和load方法的简易理解 (1)get()方法直接返回实体类,如果查不到数据则返回null.load()会返回一个实体代理对象(当前这个对象可以自动转化为实体对象),但当代理对象被调用 ...
- (转) Hibernate框架基础——操纵持久化对象的方法(Session中)
http://blog.csdn.net/yerenyuan_pku/article/details/52761021 上一篇文章中我们学习了Hibernate中java对象的状态以及对象的状态之间如 ...
- Session中清除对象方法比较
转载. https://blog.csdn.net/u014401141/article/details/51816308 Session中清除对象方法比较 http://blog.csdn.ne ...
- Session中的方法
Session 管理一个数据库的任务单元,即管理数据库中的增删改查操作,提交事务. 方法CRUD:save(),delete(),load(),get(),update(),saveOrUpdate( ...
随机推荐
- hdu1005 Number Sequence(寻找循环节)
主题链接: pid=1005">huangjing 题意: 就是给了一个公式,然后求出第n项是多少... 思路: 题目中n的范围实在是太大,所以肯定直接递推肯定会超时,所以想到的是暴力 ...
- simplePagination API
simplePagination API simplePagination.js 一个简单的jQuery分页插件,主题和Bootstrap支持CSS 3 分页button样式 "light- ...
- linux 经常使用配置
教研室用的非常旧的fedora14,装一些软件和下载东西的时候比較蛋疼,恰巧ubuntu14.04 公布,于是安装试试,顺便记录下经常使用的配置,备忘. 1. 制作镜像,比較老的主板,写入方式选择US ...
- ASP.NET回车提交事务
浅析ASP.NET回车提交事件[转] ASP.NET回车提交事件其实说到底并不是ASP.NET 的编程问题,却是关于html form 中的submit 按钮就是如何规划的具体讨论. 也可归于ASP. ...
- Quick Tip: How to Add Syntax Highlighting to Any Project
Quick Tip: How to Add Syntax Highlighting to Any Projectpublic String showAllArticleForPage() throws ...
- Java模式(适配器型号)
今天阅读Java该适配器模式,这里有一个小的总结和下谈感受.对于将来使用. 首先.让我们有关适配器先说说. 适应是“来源”至“目标”适应.其中连接这两个的关系是适配器.它负责“源”过度到“目标”. 举 ...
- 于win7使用虚拟磁盘隐藏文件
于win7使用虚拟磁盘隐藏文件,我只是win7在验证.其他型号未知. 一.创建虚拟磁盘 1.右键点击"计算机"-----"管理" ------"磁盘管 ...
- Fuel 5.1安装openstack I版本号环境
声明:本博客欢迎转载,但请保留原作者信息! 作者:傅斌杰 团队:华为杭州OpenStack团队 Fuel 简单介绍 Fuel是Mirantis公司开发的部署openstack集群工具,主要功能为裸机P ...
- iOS_18_开关控制器_NavigationController_push道路_数据传输
最后效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fill ...
- TCP与UDP的侵略性
HTTP必须执行在TCP上吗?SSL必须执行在TCP上吗?...实际上HTTP并没有规定一定要执行在TCP上,甚至FTP也不一定要执行在TCP上!HTTP或者FTP仅仅是说底层信道要保证数据的按序传输 ...