Session: How to Get the Current Session Node
When working in a RavenDB cluster, a database can reside on multiple nodes.
When the client needs to send a request to the server, it can have several nodes to choose from.
The client uses this logic to determine which node to send the request to.
Learn more about load balancing the client requests in this overview.
Use the GetCurrentSessionNode
method from the Advanced
session operations
to find out what is the current node that the session sends its requests to.
Syntax
Task<ServerNode> GetCurrentSessionNode();
Return Value
The return value of GetCurrentSessionNode
is a ServerNode object
public class ServerNode
{
public string Url;
public string Database;
public string ClusterTag;
public Role ServerRole;
[Flags]
public enum Role
{
None = 0,
Promotable = 1,
Member = 2,
Rehab = 4
}
}
Example
ServerNode serverNode = await session.Advanced.GetCurrentSessionNode();
Console.WriteLine(serverNode.Url);