调用 RavenDb store.DatabaseCommands.GlobalAdmin.CreateDatabase() 时,调用挂起

When calling RavenDb store.DatabaseCommands.GlobalAdmin.CreateDatabase() the call hangs

我目前正在进行的项目正在使用 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 调用时,进程就挂起而没有任何通知。我想检查一下以确保我没有错误地使用呼叫,或者是否有更好的呼叫。

如果您能提供任何想法或建议,我们将不胜感激。

虽然问题与NancyFX无关,但可能你需要EnsureDatabaseExists方法。它将创建数据库,如果它还没有的话。