C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Process 非同期標準出力の全読取判定


(過去ログ 152 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■88383 / inTopicNo.1)  Process 非同期標準出力の全読取判定
  
□投稿者/ TT (3回)-(2018/08/24(Fri) 15:27:59)

分類:[C#] 

環境はVS2017 .NET 4.7.2 になります。

Processにて標準出力を非同期でリダイレクトし、読み取りは問題なく行える
のですが、全て読み取った判定は可能でしょうか?
同期でしたら Process.StandardOutput.EndOfStream で判断できるのですが、
非同期の場合こちらのプロパティは参照できません。

Process.WaitForExit() では標準出力を全て読み切った判定にはならない、
また、非同期から同期に変更もできないと認識しております。

標準出力を非同期でリダイレクトし、全読み取り済みかどうか判定する方法
がありましたらお教えいただけると幸いです。
引用返信 編集キー/
■88384 / inTopicNo.2)  Re[1]: Process 非同期標準出力の全読取判定
□投稿者/ Hongliang (677回)-(2018/08/24(Fri) 16:01:27)
一口に非同期と言っても色々ありますが。
Process::BeginOutputReadLineとProcess::OutputDataReceivedによるものの場合、e.Dataがnullになったら出力を読み切ったことになります。
引用返信 編集キー/
■88385 / inTopicNo.3)  Re[2]: Process 非同期標準出力の全読取判定
□投稿者/ TT (4回)-(2018/08/24(Fri) 16:32:07)
Hongliang様

ご回答ありがとうございます。
実行して確認してみた所、おっしゃる通り最後にnullを受信しました。

明確なご回答をいただけて感謝いたします。
ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -