首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从RavenDb交互挂起使用F# FilesStore

从RavenDb交互挂起使用F# FilesStore
EN

Stack Overflow用户
提问于 2015-03-20 21:38:20
回答 1查看 94关注 0票数 2

我正在尝试从f#脚本访问ravendb文件系统。

我有这样的代码:

代码语言:javascript
复制
#r "libs/Raven.Abstractions.dll"
#r "libs/Raven.Client.Lightweight.dll"

open Raven.Client.FileSystem

let fs = new FilesStore(Url = "http://localhost:8080", DefaultFileSystem = "TestFS")
let s = fs.Initialize() 

printfn "%A" s.Identifier

如果我在文件上使用fsi执行脚本,或者通过使用fsc编译脚本,它将按预期运行并打印http://localhost:8080,但是如果我在VisualStudio中的F# interactive中执行它,它只挂在fs.Initialize()行上。

现在,如果我用false (ensureFileSystemExists)调用false方法,那么它在交互式中运行正常。

为什么是这样工作的?

这是FilesStore.cs代码的一部分

代码语言:javascript
复制
if (ensureFileSystemExists && string.IsNullOrEmpty(DefaultFileSystem) == false)
{
    try
    {
        AsyncFilesCommands.ForFileSystem(DefaultFileSystem)
                                      .EnsureFileSystemExistsAsync()
                                      .Wait();
    }
    catch(Exception)
    {
        if (failIfCannotCreate)
            throw;
    }
}

ensureFileSystemExists变量是我在第二次调用Initialize时传递的false (用于VS‘F#交互的调用)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-20 22:29:53

更新到最新版本,它应该解决这个问题。基本问题是默认使用的TPL调度程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29176208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档