【问题标题】:Windows Server AppFabric Custom Configuration Provider IssuesWindows Server AppFabric 自定义配置提供程序问题
【发布时间】:2012-04-06 07:13:22
【问题描述】:

更新

这是自定义提供程序代码的链接 - http://www.gurpreetsohal.com/configurationprovider.zip

我已经设法使用反射器进一步进入 Microsoft AppFabric dll,并且我找到了发生异常的地方。

异常是在WaitForStatus方法上引起的-服务肯定处于启动状态,它只是在超时值内从未达到启动状态。

默认超时值为 60 秒。我把这个增加到 10 分钟,同样的问题。


场景是:

1) 在工作组环境中工作 这意味着 AppFabric 将不允许 SQL Server 源存储配置文件,因此您只能使用文件共享或创建自定义配置提供程序。

我选择了后者,并使用提供的 ICustomProvider 接口和 blobstorage 编写了一个实现。

这一切似乎工作正常,配置可以正确创建/修改删除 - 配置向导工作正常。

问题是当我在powershell中运行Start-CacheCluster时,AppFabric缓存服务在Starting状态下挂起。

Powershell 然后抛出一个错误:

但是,如果我从 services.msc 手动启动服务 - 它可以正常工作,几乎是立即的。

为确保这不是环境问题,我已将 AppFabric 配置为使用文件共享进行配置,它运行良好,没有任何问题。

然后我开始查看这个 powershell 命令实际上做了什么并反编译了 dll。

它让我明白了这一点:

currentAdmin.StartCluster(new ProgressDelegate(this, (IntPtr) this.StartClusterDelegate), new WriteErrorDelegate(this, (IntPtr) this.WriteErrorRecord), this.QuorumTimeout, this.HostTimeout);

我不能再进一步,被卡住了。

我已经尝试过 Azure 表和 Blob 存储来尝试让它工作

求救!!!!!!

【问题讨论】:

    标签: azure appfabric azure-table-storage azure-blob-storage


    【解决方案1】:

    由于它使用非标准端口,我会确保该端口在集群中的所有节点上都是开放的。超时异常可能是防火墙阻止了非标准端口。

    我查看了您反编译代码的屏幕截图,看起来它只是在抛出超时,就像在错误中一样。

    谢谢,

    【讨论】:

    • 防火墙已关闭。我尝试的基本配置是单节点,所以也是admin节点。
    • 另外,在最初的问题中,我提到我使用了标准的文件共享方法,它没有任何问题!!
    • @warpcore。如果可以的话,为您的自定义提供程序抛出代码可能不是一个坏主意。也许那里有问题。
    • 好主意尼克!我想知道是否因为这是一个集群资源,它不会更新 ServiceController 状态,而是集群资源上的状态发生变化。我不确定要使用哪个 .NET API,但您可能必须让您的自定义提供程序集群知道。如果您查看它们的来源,集群 Powershell 方法可能会为您提供一些线索:technet.microsoft.com/en-us/library/ee461009.aspx
    猜你喜欢
    • 2022-08-02
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多