【问题标题】:Verifying Redis in Azure for Session State in .NET在 Azure 中验证 Redis 以了解 .NET 中的会话状态
【发布时间】:2015-07-18 17:11:03
【问题描述】:

使用这里的步骤ASP.NET Session State Provider for Azure Redis Cache,我已经通过 Redis 设置了会话存储。

虽然我在 Session 中设置了值

Session["test1"] = "value1";

我在 Azure Redis 缓存中看不到这些标签,在“命中和未命中”中也看不到任何活动。

我已经检查了主机字符串(验证是否我故意输入了它抱怨的错误值)

虽然它现在似乎可以工作(我没有看到任何错误或异常),但我正在寻找有关我可以采取的步骤的指导,以验证我是否正确配置了会话状态,而不仅仅是使用进程内会话状态。

注意:我还按照步骤设置了更通用的 Redis 缓存 How to Use Azure Redis Cache。这似乎也有效,但我再次在 Azure 门户中看不到任何活动。

编辑:这是 web.config sessionState 设置:

<sessionState mode="Custom" customProvider="MySessionStateStore">
  <providers>
    <add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="xxxtest1.redis.cache.windows.net" accessKey="xxxxxxxxx5PMkJNy4ZQFh86D+8c=" ssl="true" />
  </providers>

为了检查标签,我访问了 azure 门户 portlal.azure.com 并查看了我的 redis 缓存的标签。只是为了好玩,我也手动添加了几个标签,并尝试通过 Session 检索它们,但没有成功。 var test1 = Session["dummy1"];

【问题讨论】:

  • 您能否:1. 向我们展示带有 Redis 配置的 web.config(编辑任何敏感信息),2. 向我们展示您如何检查“Redis 缓存中的标签”。跨度>
  • 如果您通过 Azure 门户查看标记,它们会标记以帮助组织您的门户资源。它们不是 Redis 中的缓存项。
  • 是的,谢谢布伦丹。我在看标签。下载并尝试了 redis-cli 但由于某种原因我尚未确定。关于独立于应用程序验证会话状态的任何建议?
  • 当你使用 redis-cli 时,请确保你打开了 Non-SSL 端口并使用该端口通过 redis-cli 进行连接
  • 是的。启用非 SSL 端口可以解决问题。我现在可以运行 redis-cli 并查看我的值,从而验证 redis 中的 Session 状态是否适合我。谢谢普拉纳夫!

标签: asp.net azure session-state stackexchange.redis


【解决方案1】:

使用 redis-cli,我现在可以在 Azure 的 redis 缓存中查看我的值。

  1. 在 Azure redis 缓存中开启非 SSL 端口
  2. 运行 redis-cli,连接到非 SSL 端口上的 redis 缓存并获取值。

    C:\>redis-cli -h mytest1.redis.cache.windows.net -p 6379 -a McrqT....
    mytest1.redis.cache.windows.net:6379> get key1
    "test1"
    

感谢 Brendan 指出标签不是我想要的,感谢 pranav 指出我需要为 redis-cli 打开非 SSL 端口。

【讨论】:

    猜你喜欢
    • 2015-01-14
    • 2022-01-07
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    相关资源
    最近更新 更多