2

我正在尝试设置我的本地 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>

4

2 回答 2

1

我安装了旧版本的 NCache 库。当我升级客户端 DLL 时,一切都开始工作了。

于 2018-08-08T20:56:27.133 回答
1

我列出了引发此异常的一些原因。• 当您尝试连接的缓存在计算机上停止时,有时会引发此错误

您可以通过从 PowerShell 运行“Get-Caches”cmdlet 来验证这一点。如果它当前未在此计算机上运行,​​您可以使用 PowerShell 中的“Start-Cache”cmdlet 启动缓存。

PowerShell 指南:http ://www.alachisoft.com/resources/docs/ncache/powershell-ref/

• 当应用程序尝试连接到缓存时,托管缓存的IP 将通过Client.ncconf 文件(“C:\Program Files\NCache\config\client.ncconf”)进行检查。如果提到的 IP 错误,您的呼叫可能会转到完全不同的服务器,其中缓存未运行或服务根本无法访问。

您可以查看在 Client.ncconf 中针对缓存配置的 IP 与您当前在盒子上运行的 IP 相同。例如,如果您的 IP 是“192.16.1.1”,那么您的 Cache 的 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 相同。• 如果机器有双IP 并且NCache 服务在不同的IP 上运行(与缓存托管或配置托管的IP 不同),那么您的应用程序也可能会收到此错误。

请确保您的 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 文件中配置的 IP 相同。• 在计算机上启用了防火墙的情况下,也可能会引发此错误,它可能会拒绝访问缓存主机进程正在运行的端口。.

如果启用了防火墙,请确保在防火墙中打开缓存端口。您可以从此文件“C:\Program Files\NCache\bin\service\CacheHostPorts.xml”验证缓存的端口。如果这仍然不起作用,请完全禁用防火墙并检查。

于 2018-08-06T07:39:37.970 回答