首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接到本地nCache

连接到本地nCache
EN

Stack Overflow用户
提问于 2018-06-05 00:00:24
回答 2查看 1.9K关注 0票数 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>

...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>

EN

回答 2

Stack Overflow用户

发布于 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标记应该如下所示。

代码语言:javascript
复制
<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 )

代码语言:javascript
复制
<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
EN

Stack Overflow用户

发布于 2018-08-08 20:56:27

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50690289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档