F# http低级流
对于web请求,有一种较低级别的写入和读取流的方法,当数据进入时,您可以进行读取或写入,请提供一个代码片段F# http低级流,f#,http-streaming,F#,Http Streaming,对于web请求,有一种较低级别的写入和读取流的方法,当数据进入时,您可以进行读取或写入,请提供一个代码片段 let request = WebRequest.CreateHttp url request.Method <- "PUT" async { request.ContentLength <- (int64) schema.Length use! requestStream = request.GetRequestStreamAsync() |> Asyn
let request = WebRequest.CreateHttp url
request.Method <- "PUT"
async {
request.ContentLength <- (int64) schema.Length
use! requestStream = request.GetRequestStreamAsync() |> Async.AwaitTask
requestStream.Write(Encoding.UTF8.GetBytes(schema), 0, schema.Length)
requestStream.Close()
use! response = request.AsyncGetResponse()
use stream = response.GetResponseStream()
use streamReader = new StreamReader(stream)
let! data = streamReader.ReadToEndAsync() |> Async.AwaitTask
return Ok(data)
}
let request=WebRequest.CreateHttp url
方法Async.AwaitTask
返回Ok(数据)
}
用于上述代码的参考
在while循环中使用
ReadToEndAsync
而不是使用ReadToEndAsync
。C#中有很多关于如何使用这些api的示例,这里有一个简单的示例:
FSharp.Core
中也有基于异步的流API,这里有一个代码示例:当数据出现在脑海中时读取流的低级方法。我得到了下面的答案。