DotNET client usage
Chronicle uses connection strings to configure the .NET client. You can pass a connection string to ChronicleOptions or provide one when constructing a ChronicleClient.
Development defaults
Section titled “Development defaults”The ChronicleConnectionString.Development constant provides a pre-configured development connection string. Default constructors also use this value:
public static class ConnectionStringsDevelopmentDefaults{ public static ChronicleClient Create() { var options = new ChronicleOptions(); return new ChronicleClient(options); }}This is equivalent to:
using Cratis.Chronicle.Connections;
public static class ConnectionStringsDevelopmentDefaultsEquivalent{ public static ChronicleClient CreateFromOptions() { var options = ChronicleOptions.FromDevelopmentConnectionString(); return new ChronicleClient(options); }
public static ChronicleClient CreateFromConnectionString() => new(ChronicleConnectionString.Development);}Use explicit configuration for production environments.
From connection string
Section titled “From connection string”public static class ConnectionStringsFromConnectionString{ public static ChronicleClient Create() { var options = ChronicleOptions.FromConnectionString("chronicle://localhost:35000"); return new ChronicleClient(options); }}Fluent builder
Section titled “Fluent builder”Use ChronicleConnectionStringBuilder to construct a connection string programmatically:
using Cratis.Chronicle.Connections;
public static class ConnectionStringsFluentBuilder{ public static ChronicleClient Create() { var connectionString = new ChronicleConnectionStringBuilder() .WithHost("server.example.com") .WithPort(35000) .WithCredentials("clientId", "clientSecret") .Build();
var options = ChronicleOptions.FromConnectionString(connectionString); return new ChronicleClient(options); }}Authentication validation
Section titled “Authentication validation”You cannot specify both client credentials and API key authentication in the same connection string. Doing so throws an AmbiguousAuthenticationMode error.