Подключение к локальному nCache - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь настроить мою локальную разработку nCache.В моем коде ASP.net я вызываю следующее:

Cache cache = NCache.InitializeCache("local-test");

Однако создается исключение OperationFailedException:

No server is available to process the request for local-test

Есть идеи, почему?В документации сказано, что эта ошибка обычно связана с проблемами брандмауэра, но я запускаю эту вещь локально.

Конфигурация

В %NCHOME%\config\client.ncconf идентифицируется кэш:

<cache id="local-test" client-cache-id="" client-cache-syncmode="optimistic" default-readthru-provider="" default-writethru-provider="" load-balance="True"> <server name="My IP address"/> </cache>

... и config.ncconf имеет следующее определение:

<cache-config name="local-test" inproc="False" config-id="0" last-modified="" type="local-cache" auto-start="False"> <log enabled="True" trace-errors="True" trace-notices="False" trace-warnings="False" trace-debug="False"/> <perf-counters enabled="True"/> <compression enabled="False" threshold="100kb"/> <notifications item-remove="False" item-add="False" item-update="False" cache-clear="False"/> <cleanup interval="15sec"/> <storage type="heap" cache-size="250mb"/> <eviction-policy enabled="True" default-priority="normal" policy="lru" eviction-ratio="5%"/> </cache-config>

Ответы [ 2 ]

0 голосов
/ 08 августа 2018

У меня была установлена ​​старая версия библиотек NCache.Когда я обновил клиентские библиотеки DLL, все начало работать.

0 голосов
/ 06 августа 2018

Я перечисляю некоторые причины возникновения этого исключения.• Эта ошибка иногда возникает, когда кэш, который вы пытаетесь подключить, останавливается на компьютере

. Это можно проверить, выполнив командлет Get-Caches из PowerShell.Если в данный момент он не запущен на этом компьютере, вы можете запустить кэш с помощью командлета 'Start-Cache' из PowerShell.

Руководство по PowerShell: http://www.alachisoft.com/resources/docs/ncache/powershell-ref/

• При попытке приложениядля подключения к кешу IP-адреса, на которых размещен кеш, проверяются через файл Client.ncconf («C: \ Program Files \ NCache \ config \ client.ncconf»).Если указанные IP-адреса неверны, ваш вызов может перейти на совершенно другой сервер, на котором либо кэш не работает, либо служба вообще недоступна.

Вы можете проверить, что IP-адрес настроен на кэш вClient.ncconf такой же, как тот, который вы сейчас используете на коробке.Так, например, если ваш IP - «192.16.1.1», то тег client.ncconf вашего кеша должен выглядеть примерно так:

<cache id="mycache" client-cache-id="" client-cache-syncmode="optimistic" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="False" log-level="error">
<server name="192.16.1.1"/></cache> 

Этот IP-адрес должен совпадать с тем, который настроен в службе NCache.конфигурационный файл.• Если у компьютера есть два IP-адреса, а служба NCache работает на другом IP-адресе (чем тот, на котором размещен или настроен для размещения Cache), ваше приложение также может получить эту ошибку.

Пожалуйста, убедитесь, чтоВаша служба NCache в настоящее время также работает с правильным IP-адресом.Проверьте это значение по следующим тегам в файле конфигурации службы NCache (C: \ Program Files \ NCache \ bin \ service \ Alachisoft.NCache.Service.exe.config)

<add key="NCacheServer.BindToClusterIP" value=" xx.xx.xx.xx "/>
<add key="NCacheServer.BindToClientServerIP" value="xx.xx.xx.xx"/>

Убедитесь, чтоэто тот же IP-адрес, который указан в файле Client.ncconf.• Эта ошибка также может возникать в таком сценарии, когда на компьютере включен брандмауэр, это может быть отказ в доступе к портам, на которых запущен хост-процесс Cache..

Убедитесь, что порты кэша открыты в брандмауэре, если он включен.Вы можете проверить порт кэша из этого файла "C: \ Program Files \ NCache \ bin \ service \ CacheHostPorts.xml".Если это по-прежнему не работает, пожалуйста, полностью отключите брандмауэр и проверьте.

...