f#-async

    9热度

    2回答

    我需要在记录异常之后重新执行异步块时发生的异常。 当我执行以下操作时,编译器认为我没有从处理程序中调用reraise函数。我究竟做错了什么? let executeAsync context = async { traceContext.Properties.Add("CorrelationId", context.CorrelationId) try do! ru

    2热度

    1回答

    我正在做很多异步Web请求和使用Async.Parallel。喜欢的东西: xs |> Seq.map (fun u -> downloadAsync u.Url) |> Async.Parallel |> Async.Catch 有些要求可能会抛出异常,我要记录它们并继续与URL的其余部分。我找到了Async.Catch函数,但是当第一个异常抛出时,这会停止计算。我知道我可

    3热度

    1回答

    我想用HttpClient在F#中发送POST请求。不幸的是,我发现F#中的超时无效。我有这样的代码: let asyncTest() = async { let httpClient = new HttpClient() try let! res = httpClient.PostAsync("http://135.128.223.112", new String

    2热度

    1回答

    当我尝试从我的F#代码调用C#库中的异步方法时。 我得到下面的编译错误。 此表达预期具有类型异步<“一>但这里已经键入Threading.Thread.Tasks.Task SendMessageAsync是在C#库并返回Threading.Thread.Tasks.Task let sendEmailAsync message = async { let! response

    6热度

    1回答

    我通过Async.AwaitTask调用HttpClient,从代理(MailboxProcessor)中调用。我希望在HTTP调用期间捕获错误,因此在异步工作流中使用了try...with,但它完全没有捕获客户端超时异常,从而导致代理崩溃。 最小再现: #r "System.Net.Http" open System open System.Net.Http let client = n

    6热度

    1回答

    F#的Async.Parallel操作的结果是否保证在订单作业中提交?我的示例代码按顺序返回结果,但我无法在MSDN文档或F#规范中找到任何提及,请确保此必须是就是这种情况 - 这并非巧合。 这里是我的示例代码: let r = System.Random() Async.Parallel [ for i in 0..10 -> async { let ran

    5热度

    1回答

    我试图在F#中编写非阻塞代码。我需要下载一个网页,但有时网页不存在,AsyncDownloadString引发异常(404 Not Found)。我尝试了下面的代码,但它不能编译。 我怎样才能处理来自AsyncDownloadString的异常? 我怎么想在这里处理异常?如果发生错误,我只想返回一个空字符串或带有消息的字符串。