настройка конфигурации для appfabric - PullRequest
1 голос
/ 22 октября 2010

Я получаю ошибку «ErrorCode: SubStatus: Ошибка в файле конфигурации клиента». во время работы с тканью приложения.

Когда я пытаюсь создать объект, он ломается и выдает вышеупомянутую ошибку. 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 голосов
/ 15 июля 2011

Если вы не используете маршрутизацию, deployment="routing" следует удалить.

0 голосов
/ 13 декабря 2011

Вы включили службу кластера?

Я сталкивался с этим сообщением раньше, а затем запускаю кластер кеша, выпуская Start-CacheCluster в PowerShell Appfabric.

После этого убедитесь, что он включен (вы можете сделать telnet с вашим «именем сервера» на порту 22233 (порт по умолчанию для порта кэша) и убедиться, что он подключен (включите это в исключение брандмауэра).

Надеюсь, это поможет и все еще актуально для вашего вопроса:)

0 голосов
/ 27 октября 2010

Возможно, вам потребуется предоставить идентификационный доступ вашего AppPool к серверу кэша. Этой учетной записи необходимо предоставить доступ к кэшу AppFabric, чтобы клиент работал в ASP.NET. Это также применяется, когда вы используете олицетворение ASP.NET, клиент кеша все еще будет использовать удостоверение AppPool для аутентификации клиента кеша, а не олицетворенной учетной записи.

...