AppFabric Cache - существующее соединение было насильственно закрыто удаленным хостом
-
26-09-2019 - |
Вопрос
Я пытаюсь получить AppFabric Cache Up и запустить в мою местную среду развития. У меня есть Windows Server AppFabric Beta 2 Обновить Установлен, а кластер кэша и хост настроен и запущен на Windows 7 64-бит. Я запускаю свой веб-сайт MVC2 на местном веб-сайте IIS под приложением приложений V4.0 в интегрированном режиме.
HostName : CachePort Service Name Service Status Version Info
-------------------- ------------ -------------- ------------
SN-3TQHQL1:22233 AppFabricCachingService UP 1 [1,1][1,1]
У меня есть мой web.config, настроенный со следующим:
<configSections>
<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"/>
</configSections>
<dataCacheClient>
<hosts>
<host name="SN-3TQHQL1" cachePort="22233" />
</hosts>
</dataCacheClient>
Я получаю ошибку, когда пытаюсь инициализировать datacachefactory:
protected CacheService()
{
_cacheFactory = new DataCacheFactory(); <-- Error here
_defaultCache = _cacheFactory.GetDefaultCache();
}
Я получаю экран ошибки aSp.net желтый с следующим:
Существующее соединение было насильственно закрыто удаленным хостом
Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации о ошибке и где она возникла в коде.
Детали исключения: System.net.sockets.socketException: существующее соединение было насильственно закрыто удаленным хостом
Исходная ошибка:
Line 21: protected CacheService()
Line 22: {
Line 23: _cacheFactory = new DataCacheFactory();
Line 24: _defaultCache = _cacheFactory.GetDefaultCache();
Line 25: }
Решение
У меня также была похожая проблема, и моя проблема была мне не дала правильных разрешений к клиенту кэша. Чтобы быстро проверить, это проблема, которую я предоставляю доступ к каждому доступу к кэше. Если это устраняет проблему, то посмотрите на ограничение доступа к соответствующему аккаунту, а не каждому. Это может выполнить выполнение следующей команды через «администратор кэширования Windows PowerShell», который находится в папке меню MENU MENU MENU MENU Windows Server AppFabric:
Grant-CacheAllowedClientAccount everyone
Другие советы
У меня тоже была эта проблема, и я нашел ответ в этой теме:
Ответ:
Вы видите эту ошибку из-за несоответствия свойства безопасности между клиентом и сервером.
В вашем клиентском коде вы отключили безопасность (MODE = NOTE и PTECTIOVELVEL = none), тогда как сервер кэша использует режим = транспортировка и потивное течение = EncryptandSign (по умолчанию в битах Beta2fresh).
Сделайте один из следующих действий:
1) В Клиентском коде используйте безопасность по умолчанию, т. Е. Конфигурация. SecurityProperties = Новая datacachesecuretify ();
2) Отключите безопасность на сервере, чтобы соответствовать вашим существующим клиентским коде. Использование Comdlet PowerShell Comdlet-CACHECLUSTERSESSIORYS -SECURITYMODE NORE-PROTECTYLEVER Нет
Вы получаете ту же проблему, если вы используете объект DataCacheFactoryConfiguration? например
protected CacheService()
{
DataCacheFactoryConfiguration config;
List<DataCacheServerEndpoint> endpoints;
DataCacheFactory factory;
DataCache cache;
endpoints = new List<DataCacheServerEndpoint>();
endpoints.Add(new DataCacheServerEndpoint("SN-3TQHQL1",22233));
config = new DataCacheFactoryConfiguration();
config.Servers = endpoints;
factory = new DataCacheFactory(config);
cache = factory.GetDefaultCache();
...
}
Вы открыли порт на вашем брандмауэре?
Может быть, проверьте записи в журналах вашего мероприятия - они могут предложить подсказки относительно того, что есть (или нет) происходит.