一般的にストリームからデータを読み取るために、次のメソッドを作成しました。私のコンピューターでは MemoryStream になり、現実の世界ではネットワーク ストリームになります。
public async void ReadAsync()
{
byte[] data = new byte[1024];
int numBytesRead = await _stream.ReadAsync(data, 0, 1024);
// Process data ...
// Read again.
ReadAsync();
}
ここでの考え方は、データがコールバックで処理され、コールバックが新しいリーダー スレッドを生成する (そして古いスレッドを強制終了する) というものです。ただし、これは起こりません。StackOverflowException が発生します。
私は何を間違っていますか?