【问题标题】:Can't get cache when security protection level is set to unsafe安全保护级别设置为不安全时无法获取缓存
【发布时间】:2014-04-16 08:22:21
【问题描述】:

我正在测试从 ASP.net MVC 4 部署的网站中的 AppFabric 缓存功能。在我网站的 web.config 中,如果我将安全级别设置为除无安全性之外的任何内容(无/无),像这样

<securityProperties mode="Transport" protectionLevel="EncryptAndSign" />

那么,从下面的方法获取缓存会抛出异常,

DataCacheFactory.GetDefaultCache()

另外,在 PowerShell 缓存管理中,我已经将保护级别设置为相同级别 (Transport/EncryptAndSign)。 但是获取缓存仍然失败。

异常信息如下,

ErrorCode(ERRCA0017):SubStatus(ES0006):有临时故障。请稍后重试。 (一个或多个指定的缓存服务器不可用...)

这种情况只发生在我部署的网站中。但是如果我在 Visual Studio 调试模式下运行我的网站,无论安全级别设置为什么,缓存都会成功响应。

【问题讨论】:

    标签: asp.net-mvc-4 iis appfabric


    【解决方案1】:

    好的!我终于解决了棘手的问题。这件艰难的事情几乎让我贡献了我的 50 赏金(几乎一半)!

    经过一番调查,我找到了第一条线索,

    Security Error in APPFabric when changed the security mode from None to Transport?

    (注意,我不能轻易地从一些关键字中搜索出来,但我想要的结果很容易从Msdn AppFabric Cache forum 中挖掘出来。我认为谷歌搜索可以帮助我找到任何答案。)

    我收到与第一个链接相同的异常消息。但拉胡尔的回答没有奏效。然而,Rahul 的链接揭示了第二条线索,那就是使用Tracelog.exe 来跟踪连接问题。

    从事件查看器的跟踪日志中,我发现有一些 错误 事件说我的服务器权限不可访问,所以我在第三条线索中搜索,Cache Administration PowerShell commands 在 PowerShell 中设置权限.

    第三条线索,感谢真正救了我的作者mark_og!你教我们如何在 IIS 中这样设置权限,

    Grant-CacheAllowedClientAccount "IIS APPPOOL\[AppPoolName]"

    这是解决我问题的关键答案!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-10
      • 2021-09-05
      • 2012-06-05
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      相关资源
      最近更新 更多