F # AsyncWaitOne и AsyncReadToEnd - PullRequest
       14

F # AsyncWaitOne и AsyncReadToEnd

5 голосов
/ 21 августа 2010

Я работаю со старым кодом F # от Эксперт F # .Тем не менее, пример больше не строит.Следующие два вызова, кажется, не существуют:

semaphore.AsyncWaitOne(?millisecondsTimeout=timeout) 

и

reader.ReadToEndAsync()

Кто-нибудь знает, что они были заменены или я просто пропускаю ссылку?

Ответы [ 3 ]

6 голосов
/ 21 августа 2010

Теперь он называется Async.AwaitWaitHandle.

AsyncReadToEnd находится в F # PowerPack .

2 голосов
/ 03 августа 2015

К настоящему времени проект FSharp PowerPack был разбит на более мелкие модули для дальнейшего развития.В частности, класс AsyncStreamReader и методы расширения для чтения из StreamReader, WebClient и т. Д. Новый проект FSharpx.Async .

0 голосов
/ 25 апреля 2014

1) AsyncWaitOne теперь называется Async.AwaitWaitHandle.

2) AsyncReadToEnd() метод расширения больше не существует в FSharp.PowerPack . Он был заменен выделенным типом AsyncStreamReader, который содержит правильную асинхронную реализацию чтения потока (например, ReadToEnd, ReadLine и т. Д.)

Может использоваться так:

async { 
  use asyncReader = new AsyncStreamReader(stream)
  return! asyncReader.ReadToEnd() }

Примечание. После установки FSharp.PowerPack тип AsyncStreamReader будет «введен» в пространство имен Microsoft.FSharp.Control

.
...