Silverlight App的“SingleInstanceHost”标志

Silverlight App的“SingleInstanceHost”标志,第1张

概述我发现了一些名为“SingleInstanceHost”的有趣旗帜,可以在应用程序清单文件中设置. Msdn说它“表明应用程序是否具有单个实例主机”. 谁能解释这个标志是什么意思? 我的测试: >如果我在没有此标志的设备上运行我的wp7 silverlight应用程序,那么如果我尝试从开始菜单运行第二个应用程序实例 – 系统将终止第一个实例并运行新实例. >如果我在带有此标志的设备上运行我的wp7 我发现了一些名为“SingleInstanceHost”的有趣旗帜,可以在应用程序清单文件中设置. Msdn说它“表明应用程序是否具有单个实例主机”.

谁能解释这个标志是什么意思?

我的测试:

>如果我在没有此标志的设备上运行我的wp7 silverlight应用程序,那么如果我尝试从开始菜单运行第二个应用程序实例 – 系统将终止第一个实例并运行新实例.
>如果我在带有此标志的设备上运行我的wp7 silverlight应用程序,那么如果我尝试从开始菜单运行第二个应用程序实例 – 系统将终止第一个实例并且不运行新实例.

奇怪的行为!

解决方法 Silverlight 3为应用程序引入了一种在彼此之间进行通信的方式,可以在同一页面上进行,也可以在不同的浏览器实例上进行实例化(甚至可以使用Installed / OOB应用程序).通信由发送方和接收方类执行,它们通过命名信道交换消息.每个接收器必须为通道注册一个唯一的名称,否则将抛出异常.

这就是诀窍.聆听特定的命名频道将充当互斥锁.通过捕获ListenFailed异常,您可以选择显示相应的消息或启动不同版本的应用程序.所有工作都在App.Xaml.cs文件中完成:

private voID Application_Startup(object sender,StartupEventArgs e){try{    receiver = new LocalMessageReceiver("singleinstance");    receiver.Listen();    this.RootVisual = new MainPage();}catch (ListenFailedException){    this.RootVisual = new DuplicateInstancePage();}}
总结

以上是内存溢出为你收集整理的Silverlight App的“SingleInstanceHost”标志全部内容,希望文章能够帮你解决Silverlight App的“SingleInstanceHost”标志所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1000986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存