ฉันมี WinForms MP3 เครื่องเล่นบนพื้นที่ทำงานแอพฯ(.อข่ายส่วนเฟรมเวิร์ก 4.7.2)นั้นคือการใช้ ElementHost ไปยังเครื่องห MediaElement ควบคุมและมี DispatcherTimer จะควบคุมการเล่นกลับ(เช่นกำลังปรับปรุงเป็นแถบเลื่อน).
ทุกอย่างที่ทำงานสบายดีแต่ตอนที่ฉันออกจากแอพฯฉันไป "System.Threading.Tasks.TaskCanceledException: 'A task was canceled.'"
ยกเว้น(ฉันสังเกตเห็นมันเดียวตอนที่วิ่งหนีภายใต้ตัวดีบั).
มันไม่มีอะไรแต่เป็นรำและรู้สึกส่วนใหญ่ไม่มีอันตรายแต่ฉันไม่เหมือนข้อยกเว้นที่ฉันไม่เข้าใจ ที่ callstack ไม่ใช่สุดยอดมีประโยชน์:
> mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task) Unknown
mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) Unknown
WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan timeout) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherOperation operation, System.Threading.CancellationToken cancellationToken, System.TimeSpan timeout) Unknown
WindowsBase.dll!System.Windows.Threading.Dispatcher.Invoke(System.Action callback, System.Windows.Threading.DispatcherPriority priority, System.Threading.CancellationToken cancellationToken, System.TimeSpan timeout) Unknown
WindowsBase.dll!MS.Internal.WeakEventTable.OnShutDown() Unknown
WindowsBase.dll!MS.Internal.WeakEventTable.WeakEventTableShutDownListener.OnShutDown(object target, object sender, System.EventArgs e) Unknown
WindowsBase.dll!MS.Internal.ShutDownListener.HandleShutDown(object sender, System.EventArgs e) Unknown
นี่คือสิ่งที่เกิดขึ้นเพราะ WPF งานไม่ได้กำจัดเหมาะสมยังไง? ฉันยืนยันของฉัน DispatchTimer คือหยุดใน MainForm_FormClosing แต่บางทีอาจจะมีอะไรบางอย่างที่ฉันต้องทำความสะอาด?
ไม่ใช่ข้อปัญหาแน่นอนโดยน่ารำคาญ