Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# http低级流_F#_Http Streaming - Fatal编程技术网

F# http低级流

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

对于web请求,有一种较低级别的写入和读取流的方法,当数据进入时,您可以进行读取或写入,请提供一个代码片段

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,这里有一个代码示例:

当数据出现在脑海中时读取流的低级方法。我得到了下面的答案。