我正在尝试设置本地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>
...and 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>
发布于 2018-08-06 07:39:37
我列举了提出这一例外情况的一些原因。*当您试图连接的缓存在机器上停止时,有时会引发此错误
您可以通过从PowerShell运行'Get-Caches‘cmdlet来验证这一点。如果它目前不在此机器上运行,则可以使用PowerShell中的“start - Cache”cmdlet启动缓存。
PowerShell指南:http://www.alachisoft.com/resources/docs/ncache/powershell-ref/
当应用程序试图连接到缓存时,缓存所在的is通过Client.ncconf文件(“C:\Program-Files\NCache\config\client.ncconf”)进行检查。如果提到的If是错误的,您的调用可能会转到一个完全不同的服务器,在那里缓存没有运行,或者服务根本无法访问。
您可以查看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服务配置文件中配置的IP相同。·如果机器有两个IP,并且NCache服务运行在不同的IP上(而不是缓存被托管或配置为宿主的IP),那么应用程序也可能会收到此错误。
请确保您的NCache服务当前运行在正确的IP上。请对照Files\NCache\bin\service\Alachisoft.NCache.Service.exe.config)服务配置文件中的下列标记检查该值(C:\Program )
<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“中验证缓存的端口。如果这仍然不起作用,请完全禁用防火墙并检查。
发布于 2018-08-08 20:56:27
我安装了一个旧版本的NCache库。当我升级客户端DLL时,一切都开始工作了。
https://stackoverflow.com/questions/50690289
复制相似问题