我想包裝一個外部資源並將其轉換爲我的應用程序中的一個流(然後在webapi控制器中使用PushStreamContent
)。.Net System.IO.Stream async/nonblocking
C#中的Streams文檔並不真正推斷出我可以如何創建一個使用異步方法的文檔。
例如試圖從System.IO.Stream
繼承給出一個非常syncrhonous看「讀」的方法。理想情況下,我希望我的閱讀是一項「等待」的任務。即使readAsync
方法看起來像他們期望讀取是同步的,他們只是選擇塊。
我非常想在C中選擇,在那裏我可以設置IO準備好讀取,然後readAsync
的東西將繼續閱讀。有些地方可能有外部數據懸而未決的情況,所以我希望閱讀電話能夠遵守其他任務,並在準備就緒時繼續閱讀。
public override int Read(byte[] buffer, int offset, int count)
{
throw new NotImplementedException();
}
我是否應該明確重寫ReadAsync
來完成此操作?有沒有解決如何實現.NET
你能否澄清一下你是什麼意思「'ReadAsync' ...期待閱讀是同步的」? –
我不明白你爲什麼不能重寫'ReadAsync'和'Read'。 –