appfabric的配置设置

时间:2010-10-21 21:12:08

标签: configuration appfabric

我收到错误“ErrorCode:SubStatus:客户端配置文件中出错。”使用app fabric时。

当我尝试创建对象时,它会中断并抛出上述错误。 DataCacheFactory dcf = new DataCacheFactory();

配置文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--configSections must be the FIRST element -->
<configSections>

<!-- required to read the <dataCacheClient> element -->
<section name="dataCacheClient"
   type="Microsoft.Data.Caching.DataCacheClientSection,
   CacheBaseLibrary"
   allowLocation="true"
   allowDefinition="Everywhere"/>

<!-- required to read the <fabric> element, when present -->
<section name="fabric"
   type="System.Data.Fabric.Common.ConfigFile,
   FabricCommon"
   allowLocation="true"
   allowDefinition="Everywhere"/>
</configSections>

<!-- routing client -->
<dataCacheClient deployment="routing">

<hosts>
  <host
     name="servername"
     cachePort="22233"
     cacheHostName="DistributedCacheService"/>
</hosts>
</dataCacheClient>

<system.web>
<sessionState mode="Custom" customProvider="Velocity">
  <providers>
    <!-- specify the named cache for session data -->
    <add
      name="Velocity"
      type="Microsoft.Data.Caching.SessionStoreProvider"
      />
  </providers>
</sessionState>
</system.web>
</configuration>

编辑:如果我使用代码连接到AppFabric,则会出现另一个错误 “ErrorCode:SubStatus:存在临时故障。请稍后重试。(一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的。请确保已为群集上的此客户端帐户授予安全权限,允许AppFabric缓存服务通过所有缓存主机上的防火墙。稍后重试。)“

代码:

DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1];
servers[0] = new DataCacheServerEndpoint("servername", 22233);

// Setup the DataCacheFactory configuration.
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration();
factoryConfig.Servers = servers;

// Create a configured DataCacheFactory object.
DataCacheFactory mycacheFactory = new DataCacheFactory(factoryConfig);

3 个答案:

答案 0 :(得分:0)

您可能需要授予AppPool对缓存服务器的身份访问权限。需要授予此帐户访问AppFabric缓存的权限,以便客户端在ASP.NET中工作。当您使用ASP.NET模拟时,这也适用,缓存客户端仍将使用AppPool的标识来验证缓存客户端,而不是模拟帐户。

答案 1 :(得分:0)

如果您不使用路由deployment="routing",请将其删除。

答案 2 :(得分:0)

您是否打开了群集服务?

之前我遇到过此消息,然后通过发出启动缓存集群 在Appfabric的PowerShell中启动CacheCluster。

然后,确保它已打开(您可以在端口22233(缓存端口的默认端口)上telnet到您的“servername”并确保它已连接(包括在防火墙例外中)。

希望它对你的问题有帮助并且仍然有效:)