【问题标题】:Accessing App fabric Cache from Multiple Clients从多个客户端访问 App Fabric Cache
【发布时间】:2012-12-07 11:54:13
【问题描述】:

我正在尝试在多个主机上设置网站,这些应用程序使用 App Fabric Caching 框架。

我已经在 Machine1 上使用 SQL Server(不是 XML)设置了 App Fabric,并且我使用“NT Authority\Network Service”用户来配置 App Fabric。我已在 同一台机器 上设置网站,并将“网络服务”设置为应用程序池标识。我已使用“grant-CacheAllowedClientAccount”命令将缓存存储权限授予“网络服务”用户。该网站正常运行,并且能够将数据添加/编辑/删除到缓存中。一切顺利。

但是,当我尝试在具有完全相同 IIS 和应用程序池设置的另一台计算机 (Machine2) 上托管相同的应用程序时,该应用程序将失败并出现以下错误:

暂时出现故障。请稍后重试。 (一个或多个指定的缓存服务器不可用,可能是忙导致 网络或服务器。对于本地缓存集群,还要验证 以下条件。确保已授予安全权限 对于此客户帐户,并检查 AppFabric 缓存服务 允许通过所有缓存主机上的防火墙。还有 服务器上的 MaxBufferSize 必须大于或等于 从客户端发送的序列化对象大小。)

如果我向每个人授予权限,它可以正常工作,但这不是一个很好的解决方案。

两台机器都驻留在同一个域中。

您能否就此提供一些意见?

【问题讨论】:

    标签: wcf caching appfabric appfabric-cache


    【解决方案1】:

    看起来您只是缺少在 machine1 上运行以下命令

    Grant-CacheAllowedClientAccount -Account "DOMAIN1\Machine2$"

    完成此操作后,NETWORK SERVICE 帐户中 machine2 上运行的所有服务将能够访问 Machine1 上托管的 Appfabric 缓存

    在此详细解释-http://msdn.microsoft.com/en-us/library/ff921012(v=azure.10).aspx

    请注意,如果客户端应用程序作为内置计算机帐户运行,例如“NT Authority\Network Service”,您可以授予计算机访问缓存集群的权限。为此,请使用机器帐户,即域名和机器名称,并附加美元符号。以下示例授予对名为 DOMAIN1 的域中名为 Server1 的计算机的缓存集群访问权限。

    Grant-CacheAllowedClientAccount -Account "NT Authority\Network Service"

    【讨论】:

      【解决方案2】:

      另一个解决方案是在客户端配置和 AppFabric 缓存服务配置中都将安全和保护级别设置为无。

      在 web.config/app.config 文件中

      <dataCacheClient>
      <securityProperties mode="None" protectionLevel="None"/>
      <hosts>
        <host   name="XXXX" cachePort="22233"/>
      </hosts>
      

      在 AppFabric 缓存服务配置文件中

       <advancedProperties>
              <securityProperties mode="None" protectionLevel="None" />
       </advancedProperties>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-19
        • 1970-01-01
        相关资源
        最近更新 更多