我試圖將傳入的HTTP流複製到另一個流並使用它。如何重定向Request.Content流
當我直接使用Request.Content.ReadAsStreamAsync().Result
時,一切正常。
我面臨的問題是如何「通道」通過另一個原始流。 我寫了流動的方法,但問題是它要麼阻塞,直到所有的流數據已經到達(當我使用Wait())時,或者它立即返回並存在而不捕獲任何數據。
private Task<Stream> GetAudioStream(RecordingSession recordingSession)
{
Task<Stream> task = Task<Stream>.Factory.StartNew(() =>
{
Request.Content.ReadAsStreamAsync().Result.CopyToAsync(recordingSession.AudioStream).Wait();
return recordingSession.AudioStream;
});
return task;
}
你習慣開始異步操作,然後等待它們。這是沒有意義的。 – usr
@us當然,但如果我不等,代碼會立即退出,並且不會收到任何數據。這是真正的問題。 – user3077725
然後,我不清楚你想要什麼。你有兩個選擇:立即返回,完成後返回。你還想要什麼? – usr