Event Store - Connect with .NET API
要使用 Event Store .NET API 連接 Event Store,先要安裝 EventStore.Client 套件。
加入 EventStore.ClientAPI 命名空間。
using EventStore.ClientAPI;
接著調用 EventStoreConnection.Create 取得 Connection 物件。
...
using (var conn = EventStoreConnection.Create(...))
{
...
}
調用 Connection 物件的 ConnectAsync 方法建立與 EventStore 的連線。
...
conn.ConnectAsync();
...
像是下面這樣,指定 Connection name 與 uri 建立出對應的連線物件,然後進行連線。
var connectionName = "MyConsole";
var uri = new Uri("tcp://admin:changeit@localhost:1113");
using (var conn = EventStoreConnection.Create(uri, connectionName))
{
conn.ConnectAsync().Wait();
Console.ReadKey();
}
連線的建立可從 Web interface 的 Dashboard 頁面查閱,像是這邊 Connections 下就有剛所建立的 MyConsole connection。
建立 Event Store 連線時也可以帶入 ConnectionSettings 做些細部的設定。
像是下面這邊就透過 ConnectionSettings 建立出設定物件,透過設定物件做些設定,像是使用 Verbose 層級的 Log 可以調用 EnableVerboseLogging(),要將 Log 導到主控台可調用 UseConsoleLogger()。
var connectionName = "MyConsole";
var uri = new Uri("tcp://admin:changeit@localhost:1113");
var settings = ConnectionSettings.Create();
settings.EnableVerboseLogging();
settings.UseConsoleLogger();
using (var conn = EventStoreConnection.Create(settings, uri, connectionName))
{
conn.ConnectAsync().Wait();
Console.ReadKey();
}
此外也支援連線字串的設定,
var connectionName = "MyConsole";
var connectionString = "ConnectTo=tcp://admin:changeit@localhost:1113; HeartBeatTimeout=500";
using (var conn = EventStoreConnection.Create(connectionString, connectionName))
{
conn.ConnectAsync().Wait();
Console.ReadKey();
}