2010-10-21 5 views
1

Я получаю сообщение об ошибке «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> 

Edit: Если я использую код для подключения к AppFabric, это дает другую ошибку «ERRORCODE: Подстатус:.. Там есть временный отказ Пожалуйста, повторите попытку позже (Один или несколько указанных серверов кэша недоступны, что может быть вызвано занятой сетью или серверами. Убедитесь, что для этой клиентской учетной записи в кластере предоставлено разрешение на безопасность, а через все брандмауэры разрешено использовать службу кэширования 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); 
+0

Я попытался с вашим отредактированным кодом, он по-прежнему дает «ErrorCode: SubStatus: ошибка в файле конфигурации клиента» – genericuser

ответ

0

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

0

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

0

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

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

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

Надежда это помогает и остается в силе для вашего вопроса :)