连接到本地nCache

时间:2018-06-05 00:00:25

标签: c# ncache

我正在尝试设置本地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 :(得分:1)

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

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

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

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

您可以检查针对Client.ncconf中的缓存配置的IP与您当前在包装盒上运行的IP是否相同。因此,例如,如果您的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 Service配置文件中配置的IP相同。 •如果计算机具有双IP,并且NCache Service在不同的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相同。 •在机器上启用了防火墙的情况下,也可能引发此错误,它可能是拒绝访问正在运行Cache主机进程的端口。

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

答案 1 :(得分:1)

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