我有一个用 Silverlight 编写的应用程序,可在 Mac 和 Windows 平台上使用。作为其功能的一部分,它必须只允许运行一个。我们使用LocalMessageReceiver 方法实现了这一点,它按预期工作。
但是,我们在 Mac 上遇到了问题。如果应用程序崩溃或强制退出,则无法重新启动应用程序,因为单实例代码报告应用程序已在运行。到目前为止,我们发现的唯一办法是重新启动计算机。然而,这充其量是不方便的。
Mac OS X 上有没有办法清除 LocalMessageReceiver 使用的资源而无需重新启动计算机?我假设系统中某处有共享资源,但我没有找到任何文档讨论这些资源是什么或如何重置它们。