public EsentBlockTxesStorage(string baseDirectory, int? index = null)
{
this.jetDirectory = Path.Combine(baseDirectory, "BlockTxes");
if (index.HasValue)
this.jetDirectory = Path.Combine(jetDirectory, index.Value.ToString());
this.jetDatabase = Path.Combine(this.jetDirectory, "BlockTxes.edb");
this.cursorCache = new DisposableCache<EsentBlockTxesCursor>(1024,
createFunc: () => new EsentBlockTxesCursor(this.jetDatabase, this.jetInstance));
this.jetInstance = new Instance(Guid.NewGuid().ToString());
var success = false;
try
{
EsentStorageManager.InitInstanceParameters(jetInstance, jetDirectory);
this.jetInstance.Init();
this.CreateOrOpenDatabase();
success = true;
}
finally
{
if (!success)
this.jetInstance.Dispose();
}
}