RavenDB故障切换场景。如何知道实际的服务器?

RavenDB故障切换场景。如何知道实际的服务器?,ravendb,database-replication,failover,Ravendb,Database Replication,Failover,我正在为RavenDB(服务器和客户端3.0)设置一个带有复制和故障切换的项目,现在我正在使用副本数据库进行测试 故障转移行为非常简单:我有两台服务器,一台在8080上,另一台在8081上。配置基本上如下所示: store.FailoverServers.ForDatabases = new Dictionary<string, ReplicationDestination[]> { { "MyDB", new[] {

我正在为RavenDB(服务器和客户端3.0)设置一个带有复制和故障切换的项目,现在我正在使用副本数据库进行测试

故障转移行为非常简单:我有两台服务器,一台在8080上,另一台在8081上。配置基本上如下所示:

store.FailoverServers.ForDatabases = new Dictionary<string, ReplicationDestination[]>
{
    {
        "MyDB",
        new[]
            {
                new ReplicationDestination
                    {
                        Url = "http://localhost:8080"
                    },
                new ReplicationDestination
                    {
                        Url = "http://localhost:8081"
                    }
            }
    }
};
store.FailoverServers.fordatabase=新字典
{
{
“MyDB”,
新[]
{
新复制定向
{
Url=”http://localhost:8080"
},
新复制定向
{
Url=”http://localhost:8081"
}
}
}
};
故障切换工作正常,我已尝试关闭第一台服务器(即DocumentStore配置中使用的服务器),第二台服务器按预期响应

我想知道的是:有没有办法了解响应查询的当前故障转移服务器是什么?如果在会话中我尝试导航DocumentSession属性(作为session.Advanced.DocumentStore.Identifier),我找不到第二个服务器的引用,但我只看到第一个服务器的引用,即用于配置的服务器


我遗漏了什么吗?

您可以使用
复制信息格式.FailoverStatusChanged
获取故障转移通知


您可以使用:
DocumentStore.GetReplicationInformerForDatabase()

来访问复制信息器。谢谢您的回复,我正在尝试,但是从ReplicationInformer中可以看出,我没有关于实际使用的服务器的简单信息,我只得到失败服务器的故障计数。对吗?此外,在ReplicationDestinations上,我只看到辅助服务器(即使在它关闭时)。您可以让复制目标知道辅助服务器,而主服务器是存储上定义的任何服务器。然后,您可以使用
ShouldExecuteUsing
方法获取我们将使用此节点的任何内容。