我们有一个 WPF 应用程序,它需要与登录和注销相应 PC 的不同用户保持打开更长时间(一夜之间)。
[更新] WPF 应用程序使用这里的单实例技术:http : //blogs.microsoft.co.il/blogs/arik/SingleInstance.cs.txt
单实例功能不是错误的原因
只有在以下情况下才会发生奇怪的崩溃:
操作系统是 Windows 10
以下用户登录/注销顺序必须发生:
帐户 A 正在启动应用程序并注销或锁定 PC。帐户 B 在夜间登录,在 PC 上工作一段时间,然后注销。帐户 A 在早上再次登录。应用程序运行,但 UI 被冻结/最小化。单击/尝试调整大小时,出现以下错误:
System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object …Run Code Online (Sandbox Code Playgroud)