2013-02-14 5 views
0

Я пытаюсь заставить AppFabric работать в моем приложении Asp.net, все работает отлично, если я использую код C# для выполнения конфигурации. Но мне очень трудно заставить его работать с web.config. Если у меня есть следующие в web.config,Ошибка конфигурации AppFabric с dataCacheClient vs dataCacheClients

<section name="dataCacheClient" 
      type="Microsoft.ApplicationServer.Caching.DataCacheClientSection, 
     Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
     Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      /> 

и

<dataCacheClient> 
    <hosts> 
    <host name="localhost" cachePort="22233" /> 
    </hosts> 
</dataCacheClient> 

тогда мой код не выбрасывает исключения, ОДНАКО Doing поместить в кэш по умолчанию фактически не положить что-нибудь в кэш, количество байт равен 0.

Если я изменяю web.config в

<section name="dataCacheClients" 
      type="Microsoft.ApplicationServer.Caching.DataCacheClientSection, 
     Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
     Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      /> 

п Otice это "dataCacheClients" с "с" и

<dataCacheClients> 
<dataCacheClient name="default"> 
    <hosts> 
    <host name="localhost" cachePort="22233" /> 
    </hosts> 
</dataCacheClient> 

я получил исключение

ErrorCode<ERRCA0021>:SubStatus<ES0001>:Server collection cannot be empty 

Может кто-нибудь помочь указать, что я здесь отсутствует.

Большое вам спасибо!

ответ

1

Ваш первый пример верен, просто добавьте параметры: allowLocation = "true" allowDefinition = "Везде".

<section name="dataCacheClient" 
     type="Microsoft.ApplicationServer.Caching.DataCacheClientSection, 
       Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
       Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     allowLocation="true" 
     allowDefinition="Everywhere"/>