gpt4 book ai didi

c# - 清除 LocalMessageReceiver 的 Mac Silverlight 资源

转载 作者:行者123 更新时间:2023-11-30 17:57:14 25 4
gpt4 key购买 nike

我有一个用 Silverlight 编写的应用程序,可在 Mac 和 Windows 平台上使用。作为其功能的一部分,必须只允许它运行一个。我们已经使用 LocalMessageReceiver approach 实现了这个并且按预期工作。

但是,我们在 Mac 上遇到了问题。如果应用程序崩溃或强制退出,则不可能重新启动应用程序,因为单实例代码报告应用程序已在运行。到目前为止,我们找到的唯一办法是重新启动计算机。然而,这充其量是不方便的。

在 Mac OS X 上有没有一种方法可以在不重启计算机的情况下清除 LocalMessageReceiver 使用的资源?我假设系统中某处有共享资源,但我没有找到任何讨论这些资源是什么或如何重置它们的文档。

最佳答案

嗯...因为没有人回答...这是我的解决方法;我无法明确设置代码,但我可以让你明白:

如果您无法监听 LocalMessageReceiver(),可能有两个原因

  1. 因为有一个真正的其他 silverlight 实例在运行
  2. 因为发生了崩溃,资源没有被正确清除

区分原因的技巧是尝试与 LocalMessageReceiver 通信。设置 LocalmessageSender,向响应添加一个句柄并尝试发送消息。

“真正的”其他 silverlight 实例会回复。车祸遗留号。所以你可以等待一个合理的超时时间来回复。

如果没有(所以它是崩溃)你有一些策略:例如,你可以设置一个新的 LocalMessageReceiver(具有“后备”名称)来检查其他实例或类似的东西。

关于c# - 清除 LocalMessageReceiver 的 Mac Silverlight 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13370756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com