Проблема Appfabric с конструкцией DataCacheFactory

После обновления до Visual Studio 2015 мой клиент AppFabric, размещенный в службе Windows, больше не запускается. Исключение выдается из конструктора DataCacheFactory, когда служба запускается, а фабрика инкапсулируется в одноэлементный класс Cache. вот исключение.

04.08.2015 21:51:47 Ошибка запуска службы: System.TypeInitializationException: инициализатор типа для ioService.IoService вызвал исключение. ---> Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus: временный сбой. Пожалуйста, попробуйте позже. (Один или несколько указанных серверов кэширования недоступны, что может быть вызвано загруженностью сети или серверов. Убедитесь, что для этой учетной записи клиента в кластере предоставлено разрешение безопасности и что служба кэширования AppFabric разрешена через брандмауэр на всех хостах кэша. Повторите попытку позже.) В Microsoft.ApplicationServer.Caching.ClientDRM.InitializeCasClient(строковый идентификатор, TimeSpan chnlOpenTimeout) в Microsoft.ApplicationServer.Caching.DataCacheFactory.InitDrm() в Microsoft.ApplicationServer.Caching.DataCacheFact.ctorFact.Cache..ctor()

При возврате старых сгенерированных сборок Visual Studio 2013 он снова запускается, и ни одна строка кода не отличается!! Просто дважды проверил, файлы конфигурации также точно так же.

Я действительно понятия не имею, что делать дальше, и поскольку информация о appfabric не очень популярна, я спрашиваю здесь. Кто-нибудь испытывал то же самое?

вот код, если это помогает:

internal class Cache
    {
        private static volatile Cache mCache = null;
        private static object SyncRoot = new object();

        private DataCache mArticleCache;
        // FAULTING INSIDE CONSTRUCTOR...
        private DataCacheFactory mCacheFactory = new DataCacheFactory();

        public static Cache Instance
        {
            get
            {
                if (mCache == null)
                {
                    lock (SyncRoot)
                    {
                        if (mCache == null) // search DCLP for why 2x if
                            mCache = new Cache();
                    }
                }
                return mCache;
            }
        }

        public DataCache ArticleCache
        {
            get { return mArticleCache; }
        }

        private Cache()
        {
            mArticleCache = mCacheFactory.GetCache(ConfigurationManager.AppSettings["Cache.ArticleCacheName"]);

            try
            {
                mArticleCache.CreateRegion(ConfigurationManager.AppSettings["Cache.ArticleRegionName"]);
            }
            catch (DataCacheException dcex)
            {
                if (dcex.ErrorCode != DataCacheErrorCode.RegionAlreadyExists)
                    throw dcex;
            }
        }
    }

обновление: после включения трассировки на уровне службы appfabric средство просмотра трассировки службы Microsoft отображает следующую ошибку:

введите описание изображения здесь

Значение maxOutboundConnectionsPerEndpoint, вероятно, слишком низкое. Как можно изменить это число в AppFabric?

обновление 2

Файлы проекта разные. Это старый раздел для appfabric

     <Reference Include="Microsoft.ApplicationServer.Caching.Client">
<HintPath>..\..\..\..\temp\AppFabric\Microsoft.ApplicationServer.Caching.Client.dll</HintPath>
        </Reference>
        <Reference Include="Microsoft.ApplicationServer.Caching.Core">
<HintPath>..\..\..\..\temp\AppFabric\Microsoft.ApplicationServer.Caching.Core.dll</HintPath>
        </Reference>

И новый раздел

   <Reference Include="Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\..\temp\AppFabric\Microsoft.ApplicationServer.Caching.Client.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\..\temp\AppFabric\Microsoft.ApplicationServer.Caching.Core.dll</HintPath>
    </Reference>

Версия и publickeytoken теперь включены, и добавлен ложный тег SpecificVersion.

0 ответов

Другие вопросы по тегам