Azure Redis 缓存的 ASP.NET 会话状态提供程序
Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态。要使用缓存会话状态提供程序,先首先配置缓存,然后使用 Redis 缓存会话状态 NuGet 包配置用于缓存的 ASP.NET 应用程序。
- 若要使用 Redis Cache Session State NuGet 程序包配置 Visual Studio 中的应用程序,请右键单击解决方案资源管理器中的项目,然后选择管理 NuGet 程序包。

 - 将 RedisSessionStateProvider 键入联机搜索文本框中,从结果中选择,单击安装。

备注Redis Session State Provider NuGet 程序包对 StackExchange.Redis.StrongName 程序包有依赖。如果 StackExchange.Redis.StrongName 程序包未在项目中显示,其将安装。请注意,除具有强名称 StackExchange.Redis.StrongName 程序包,还有 StackExchange.Redis 非强名称版本。如果你的项目使用非强命名 StackExchange redis 版本,在安装 Redis Session State Provider NuGet 程序包前后,你必须将其卸载,否则你将获取与项目中冲突的名称。有关这些程序包的更多信息,请参阅 配置 Azure Redis Cache 的 .NET 缓存客户端。 NuGet 程序包下载并添加所需的程序集引用,然后添加以下会话到 web.config 文件,该文件包含 ASP.NET 应用程序所需的配置以使用 Redis Cache 会话状态提供程序。
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<!--
<add name="MySessionStateStore"
host = "127.0.0.1" [String]
port = "" [number]
accessKey = "" [String]
ssl = "false" [true|false]
throwOnError = "true" [true|false]
retryTimeoutInMilliseconds = "0" [number]
databaseId = "0" [number]
applicationName = "" [String]
connectionTimeoutInMilliseconds = "5000" [number]
operationTimeoutInMilliseconds = "5000" [number]
/>
-->
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" accessKey="" ssl="false" />
</providers>
</sessionState>注释部分提供了属性示例和每个属性的演示设置。
 - 为 Azure Management Portal Preview 缓存边栏中的属性配置该值,并配置所需的其他值。
备注有关访问缓存属性的说明,请参阅 Review cache settings。 host– 指定缓存端点。port– 根据ssl设置,使用非 SSL 端口或 SSL 端口。accessKey– 使用缓存的主密钥或次密钥。ssl– 如果你想保护缓存/客户端与 SSL 的通信,true;否则为 false。确保指定正确的port。
重要提示默认情况下,对新缓存禁用了非 SSL 端口。将此设置指定为 true 以使用 SSL 端口。有关启用非 SSL 端口的详细信息,请参阅在 Azure Redis Cache 中配置缓存主题中的Access Ports。 throwOnError– 如果由于故障而引发异常,则为 true;如果希望操作失败而不提示,则为 false。通过选中Microsoft.Web.Redis.RedisSessionStateProvider.LastException属性检查故障。默认值为 true。retryTimeoutInMilliseconds– 在此期间(以毫秒计)将重试失败的操作。第一次重试发生 20 毫秒后,每秒重试一次,直到retryTimeoutInMilliseconds间隔期满。此间隔后立即重试最后一次操作。如果操作仍失败,根据throwOnError设置,将异常情况返回到调用程序。默认值为0,这意味没有重试。databaseId– 指定用于缓存输出数据的数据库。如果未指定,则使用默认值0。applicationName– 密钥在 Redis 中存储为<AppName>_<SessionId>_Data。这将使多个应用程序共享同一个密钥。此参数为可选,如果不提供,就使用默认值。connectionTimeoutInMilliseconds– 此设置允许你覆盖 StackExchange.Redis 客户端中的connectTimeout设置。如果未指定,则使用5000的默认connectTimeout设置。有关详细信息,请参阅 TechNet 上的 StackExchange.Redis 配置模型。operationTimeoutInMilliseconds– 此设置允许你覆盖 StackExchange.Redis 客户端中的syncTimeout设置。如果未指定,则使用1000的默认syncTimeout设置。有关详细信息,请参阅 TechNet 上的 StackExchange.Redis 配置模型。
有关这些属性的详细信息,请参阅 适用于 Redis 的 ASP.NET 会话状态提供程序通告上的原始博客中发布的通告。
 - 请不要忘记将 web.config 文件中的标准 
InProc会话状态提供程序注释掉。<!-- <sessionState mode="InProc"
customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider"
type="System.Web.Providers.DefaultSessionStateProvider,
System.Web.Providers, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection" />
</providers>
</sessionState> --> 
一旦执行这些步骤,将配置应用程序以使用 Redis 缓存会话状态提供程序。在你使用应用程序中的会话时,其将在 Azure Redis Cache 实例中存储。
Azure Redis 缓存的 ASP.NET 会话状态提供程序的更多相关文章
- Azure Redis 缓存使用注意事项与排查问题文档整理
		
StackExchange.Redis 使用名为 synctimeout 的配置设置进行同步操作,该设置的默认值为 1000 毫秒. 如果同步调用未在规定时间内完成,StackExchange.Red ...
 - 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题
		
问题描述 由于Azure Redis的性能在不同级别表现不同,当需要升级/缩放Redis的时候,从使用者的角度,需要知道有那些步骤? 注意事项? 潜在影响?停机事件窗口? 升级预估时间? 解决方案 从 ...
 - Azure Redis Cache作为ASP.NET 缓存输出提供程序
		
前一篇文章<Azure Redis Cache作为ASP.NET Session状态提供程序 >我们已经知道如何将ASP.NET应用程序Session存储在Redis Cache中,这里我 ...
 - Azure Redis Cache作为ASP.NET Session状态提供程序
		
从上一篇博客<使用Azure Redis Cache>我们已经可以创建并使用Redis Cache为我们服务了. 作为Web开发者,我们都知道Session状态默认是保存在内存中的,它的优 ...
 - 【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
		
问题描述 Azure Redis和所有的Redis服务一样,可以让你保留存储在Redis中的数据.以防万一在Redis服务器出现故障的时候能尽可能小的减少数据的损失.在Azure Redis服务中,默 ...
 - 【Azure Redis 缓存 Azure Cache For Redis】Redis性能问题,发现Server Load非常的高,导致正常连接/操作不成功
		
问题描述 在正常使用Azure Redis的服务中,突然发现Redis 的CPU达到了100%, 正常的使用中发现性能问题严重.从Redis的门户图表中,观察到CPU, Connection,Lent ...
 - 【Azure Redis 缓存】Azure Redis功能性讨论
		
关于使用Azure Redis服务在以下九大方面的功能性的解说: 高可用 备份可靠性 配置自动化 部署多样性 快速回档功能 数据扩容 SLA稳定性 数据安全性 监控系统 一:高可用 Azure Cac ...
 - 【Azure Redis 缓存】Azure Redis 功能性讨论二
		
继承上一次讨论了Azure Redis的可用性,可靠性,稳定性,安全性,监控方面的九大功能点.详情可回顾文章:[Azure Redis 缓存]Azure Redis功能性讨论 这次我们继续讨论Azur ...
 - 【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
		
问题描述 在自建的Redis服务中,可以通过 config set requirepass <Password> 设置Redis的登录密码,然后使用auth 命令输入密码.操作命令如下: ...
 
随机推荐
- Microsoft Word 2010/2013 无法创建工作文件 请检查临时环境变量
			
解决方案:重置IE缓存文件夹
 - 通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置
			
通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置 配置H ...
 - 关于Struts2的多文件上传
			
之前写过一篇文章,关于Struts2文件上传:http://www.cnblogs.com/lichenwei/p/3927964.html 现在来说下多文件上传,其实就把上传文件当成是一个数组去处理 ...
 - SharePoint 使用ECMAscript对象模型来操作Goup与User
			
这里总结了关于使用ECMAscript对象模型来操作Goup与User的常用情况,内容如下: 1.取得当前Sharepoint网站所有的Groups 2.获取当前登录用户的Title与 ...
 - 我的Oracle控制台创建数据库的工具
			
Oracle windows 11.2.0.4 在控制台cmd下的创建工具,不依赖于服务和监听 工具及下载:Oracle控制台工具 注意:其中的 “seeddatabase.gbk.7z”文件为从Or ...
 - 史上最强大的python selenium webdriver的包装
			
1.之前已经发过两次使用单浏览器了,但是这个最完美,此篇并没有使用任何单例模式的设计模式,用了实例属性结果缓存到类属性. 2.最简单的控制单浏览器是只实例化一次类,然后一直使用这个对象,但每个地方运行 ...
 - C#WinForm窗体事件执行次序
			
当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件: System.Windows.Forms.Control.HandleCreated ...
 - Core Java笔记
			
前言 一·基础知识 二·定义,关键字和类型 三·表达式和控制流 四·数组 五·对象和类 六·高级语言特性 七·异常 八·图形用户接口 九·AWT(Abstract Window Toolkit) 事件 ...
 - java命令启动jar包
			
本人对这些命令也是一知半解,记录备用. 1. 使用java命令行执行java文件 # 设置命令窗口标题 title test1 # 开启输出 @echo on # 设置环境变量JAVA_HOME se ...
 - Lua协程-测试3
			
print("Lua 协程测试3") -- 实现消费者-生产者关系(生产一个就消费一个) count = -- 生产总数 -- 生产者 local newProductorCo = ...