我目前正在处理的项目是使用RavenDb作为嵌入式数据存储区,在尝试调用以确保数据库存在于商店中时,我发现它已挂起。
var docStore = new EmbeddableDocumentStore()
{
DataDirectory = "Data",
};
docStore.Initialize();
// Check to make sure that the database exists
bool bcDatabaseExists = docStore.DatabaseCommands.GlobalAdmin.GetDatabaseNames(1024).Contains(DatabaseName);
if (!bcDatabaseExists)
{
Dictionary<string, string> settings = new Dictionary<string, string>();
DatabaseDocument databaseDocument = new DatabaseDocument()
{
Id = DatabaseName,
Settings =
{
{ "Raven/DataDir", "~\\Data" }
}
};
try
{
docStore.DatabaseCommands.GlobalAdmin.CreateDatabase(databaseDocument);
}
catch (Exception ex)
{
log.Error(ex);
}
}
然而,当我点击CreateDatabase调用时,该进程只是挂起而没有任何通知。我想检查以确保我没有错误地使用呼叫,或者是否有更好的呼叫。
非常感谢您提出的任何想法或建议。