私のアプリは .NET 4.5 で、監視されていないタスクの例外に関するすべてのエラーをログに記録するイベント ハンドラーがあります。
TaskScheduler.UnobservedTaskException += (sender, e) => e.Exception.Handle(ex =>
{
logger.Error(e.Exception);
return false;
});
false を返すと、アプリケーションがシャットダウンされます。.NET 4.0 の動作をシミュレートします。
私の質問は、なぜこのコードがイベントを呼び出し、その結果、結果を観察している場合にアプリをクラッシュさせるのですか?
try
{
var resultado = httpClient.GetAsync('http://.....').Result;
}
catch (Exception ex)
{
logger.Error(ex);
}
更新:いくつかのデバッグの後、.Result を呼び出さなかったときに別のタスクがあり、問題を引き起こしていることがわかりました。