0
私はそうのようなバックグラウンドスレッドで実行しているしたいメソッドを呼び出しています:Task.Runで始まったメソッドでShowDialogを呼び出すことは安全ですか?
Task.Run(() => CleanupLogs());
CleanupLogs
方法は、特定の日数より古いログファイルを削除します。 try/catchブロックで削除を実行します。例外がある場合、Window.ShowDialog
を介してユーザーに例外が表示されます。それは安全ですか?そうでない場合は、UIスレッドでWindow.ShowDialog
を実行する方法はありますか?
安全とはどういう意味ですか? –
@EyalPerry私はモーダルダイアログや実際にはモーダルではない問題や、私が気づいていないかもしれない他の問題を引き起こすことを意味します。私はWPFの新機能ですが、たとえば、すべてのユーザー対話がUIスレッド上になければならないことがわかります。私は、メインスレッド以外のスレッドからShowDialogを呼び出すことに問題があるかどうかを調べようとしています。 – SSteve
そのメソッドの名前を* CleanupLogsAndShowExceptionIfAny *に変更する必要があります。これが醜い名前だと思うなら、あなたのコードで何をしているのかを記述するだけです。 A * CleanupLogs *メソッドはログをクリーンアップするだけで、何らかの問題が発生した場合には例外を送出する必要があります。そのメソッドの外で例外(ユーザに通知する...)を処理し、この種の質問について考える必要はありません:o) –