internal DocumentStore CreateDocumentStore(Instance storeInstance, AccessMode accessMode)
{
var databaseName = storeInstance.Url.GetDatabaseName(throwIfNotFound: true);
var store = new DocumentStore
{
Identifier = databaseName,
DefaultDatabase = databaseName,
Url = storeInstance.Url.ToString(),
Conventions =
{
FailoverBehavior = FailoverBehavior.AllowReadsFromSecondariesAndWritesToSecondaries
}
};
if (accessMode == AccessMode.ReadOnly)
{
store.RegisterListener((IDocumentStoreListener)new ReadOnlyListener());
store.RegisterListener((IDocumentDeleteListener)new ReadOnlyListener());
}
return store;
}