博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# redis 分布式session存储
阅读量:6839 次
发布时间:2019-06-26

本文共 1342 字,大约阅读时间需要 4 分钟。

https://github.com/uliian/SessionExtentionStore

一个基于Redis的Session存储扩展方案,解决ASP.NET中Session的局限性和跨应用程序使用的局限性
 branch: master 

  

ULiiAn 
 authored on 5 Apr 2014
  9 months ago
  9 months ago
  9 months ago
  9 months ago
  9 months ago
  9 months ago
  9 months ago
  9 months ago

 README.md

SessionExtentionStore

一个基于Redis的Session存储扩展方案,解决ASP.NET中Session的局限性和跨应用程序使用的局限性

原生的Session解决方案存在着跨应用程序的困难,扩展性的困难,而SessionExtentionStore方案致力于解决这个问题。 这是一个简单的处理方案,使用了这个解决方案,您能将多个应用间数据交互交由SessionExtentionStore解决, 在使用共享Session提供SSO的解决方案中,尤其有用。

我采用的是类Session的处理方式,和SessionId绑定到了一起,这样就能依赖于Session的机制将用户和扩展绑定到了一起。

使用方法: 配置web.config,增加以下配置节点:

要是MVC环境,则建立一个Controller父类,派生自Controller类,若是WebForm则建立一个父类派生自System.Web.UI.Page, 父类加入以下属性定义:

private StoreContainer _store;        public StoreContainer Store        {            get            {                if (!string.IsNullOrEmpty(Session.SessionID))                {                    Session["__TempCreate__"] = 1; return new StoreContainer(Session.SessionID); } return _store ?? (_store = new StoreContainer(Session.SessionID)); } }

其他所有页面都派生自这两个父类,然后均可以使用Store属性进行数据存储,与使用Session的方式一样。 因为存储内容当中带有类型信息,若带有非mscorlib带有的的数据类型需要在多应用程序间共享,需要在子类中使用 Store.GetJson(string key)或者GetValue(string key)方法。

我的第一个可以使用的开源项目,我在我所负责的项目中已经开始使用,希望有能看到的朋友给予支持,提出宝贵意见。谢谢!

转载地址:http://rhwul.baihongyu.com/

你可能感兴趣的文章
shmall参数设置不当引起数据库启动时报out of memory报错
查看>>
Linux查看性能的命令介绍
查看>>
Web模糊测试工具Powerfuzzer
查看>>
spring boot 新手错误
查看>>
Python-常用模块
查看>>
sudo详解
查看>>
Log4j学习汇总—–配置详解
查看>>
使用PHP开发你必须得注意的要点
查看>>
ssl ca
查看>>
shell 简单服务监控
查看>>
服务器检测硬件配置脚本14.9.15
查看>>
nmap远程端口探测
查看>>
巨头纷纷进驻物联网行业,围绕巨头布局细分领域,将成为独角兽成长的重要模式...
查看>>
nagios安装及配置
查看>>
Spring+CXF配置HTTP代理访问Internet
查看>>
Lync Server 2013企业版部署测试六:前端服务器安装Lync Server系统
查看>>
Error 和 Exception的区别
查看>>
.NET Micro Framework 4.2 beta 源码探析
查看>>
有关NDES管理帐号及用户帐号权限
查看>>
samba实现文件共享
查看>>