56得票7回答
在dotNet中是否有DirectoryInfo.GetFiles / Directory.GetDirectories的异步版本?

在dotNet中是否有DirectoryInfo.GetFiles/Directory.GetDirectories的异步版本?我想在F#的异步块中使用它们,并且最好有一个可以使用AsyncCallbacks调用的版本。 问题是,我正在尝试读取一堆目录,可能是通过缓慢的网络连接上的SMB挂载...

16得票2回答
如何在测试F#异步工作流时获取有用的堆栈跟踪

我想测试以下异步工作流程(使用NUnit+FsUnit):let foo = async { failwith "oops" return 42 } 我为此编写了以下测试:let [<Test>] TestFoo () = foo |> Async.RunSy...

15得票1回答
Scala中与F#的异步工作流程等效的是什么?

Scala中与F#的async workflows相对应的是什么? 例如,下面的F#代码片段怎样用惯用的Scala方式翻译?open System.Net open Microsoft.FSharp.Control.WebExtensions let urlList = [ "Micros...

8得票2回答
使用异步工作流实现并行的最佳实践

假设我想要抓取一个网页并提取一些数据。我很可能会写出以下代码: let getAllHyperlinks(url:string) = async { let req = WebRequest.Create(url) let! rsp = req.GetRe...

8得票1回答
使用Async.Catch无法处理OperationCanceledExceptions异常。

我使用Async.Catch来处理异步工作流抛出的异常: work |> Async.Catch |> Async.RunSynchronously |> fun x -> match x with | Choice1Of2 _ -> (...

8得票1回答
异步计算无法捕获OperationCancelledException异常。

我正在尝试对一个URL进行异步网络请求,如果请求时间过长就会返回。我使用F#的异步工作流和System.Net.Http库来完成这个任务。 然而,我无法在async工作流中捕获System.Net.Http库引发的Task/OperationCancelledExceptions异常。相反,...

7得票1回答
在F#中使用ConfigureAwait(false)

我正在使用一种用C#编写的库,它使用异步/等待模式。在C#中,我可以通过调用ConfigureAwait(false)来等待某些内容,但是当我从F#使用该库时,我不知道如何做同样的事情? 目前我使用 SomeMethodAsync() |> Async.AwaitTask 将其转换为一...