タイムアウトによってTcpClient ReadAsync操作をキャンセルし、.NET 4.5でこのタイムアウトイベントをキャッチする適切な方法は何ですか?
TcpClient.ReadTimeout は同期読み取り専用に適用されるようです。
更新:
ここで説明されているアプローチを適用しようとしました 非同期操作のキャンセル
var buffer = new byte[4096];
CancellationTokenSource cts = new CancellationTokenSource(5000);
int amountRead = await tcpClientStream.ReadAsync(buffer, 0, 4096, cts.Token);
ただし、タイムアウトによってキャンセルされることはありません。何か問題がありますか?