【问题标题】:Connecting to local nCache连接到本地 nCache
【发布时间】:2018-08-09 04:56:27
【问题描述】:

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

【问题讨论】:

    标签: c# ncache


    【解决方案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”验证缓存的端口。如果还是不行,请彻底关闭防火墙并检查。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-04-01
        • 2015-05-09
        • 1970-01-01
        • 2021-05-23
        • 1970-01-01
        • 1970-01-01
        • 2016-09-18
        • 2021-09-12
        • 2021-06-01
        相关资源
        最近更新 更多