更新
以下是自定义提供商代码的链接 - http://www.gurpreetsohal.com/configurationprovider.zip
我设法使用反射器进一步进入Microsoft AppFabric dll,我找到了发生异常的地方。
异常是由WaitForStatus方法引起的 - 服务肯定处于启动状态,它永远不会在超时值内达到启动状态。
默认超时值为60秒。我已将此增加到10分钟,同样的问题。
场景是:
1)在工作组环境中工作 这意味着AppFabric将不允许SQL Server源存储配置文件,因此您可以使用文件共享或创建自定义配置提供程序。
我选择使用后者并使用blobstorage提供的ICustomProvider接口编写实现。
这一切似乎都运行正常,可以正确删除配置创建/修改 - 配置向导工作正常。
问题是当我在powershell中运行Start-CacheCluster时,AppFabric缓存服务挂起处于Starting状态。
Powershell然后抛出一个错误:
但是,如果我从services.msc手动启动服务 - 它工作正常没问题,几乎是立即。
为了确保这不是环境问题,我已将AppFabric配置为使用fileshare进行配置,并且它运行正常,没有任何问题。
然后我开始查看这个powershell命令实际上做了什么并反编译了dll。
我得到了这个:
currentAdmin.StartCluster(new ProgressDelegate(this,(IntPtr)this.StartClusterDelegate),new WriteErrorDelegate(this,(IntPtr)this.WriteErrorRecord),this.QuorumTimeout,this.HostTimeout);
我无法继续前进而陷入困境。
我已尝试过使用Azure表和Blob存储来尝试使其正常工作
帮助!!!!!
答案 0 :(得分:0)
由于它使用非标准端口,因此我确保此端口在群集中的所有节点上都是打开的。超时异常可能是阻止非标准端口的防火墙。
我查看了反编译代码的屏幕截图,看起来它只是抛出超时,就像在错误中一样。
谢谢,