들어오는 HTTP 스트림을 다른 스트림으로 복사하고 대신 사용하려고합니다.Request.Content stream 리디렉션하는 방법
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
@usr 물론,하지만 기다리지 않으면 코드가 즉시 종료되고 데이터가 없습니다. 이것이 실제 질문입니다. – user3077725
그런 다음, 나는 당신이 원하는 것이 무엇인지 분명하지 않습니다. 두 가지 선택 사항이 있습니다. 즉시 반환하고 완료되면 돌아갑니다. 그 밖에 무엇을 원하십니까? – usr