没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-05-12 10:49:48.000|阅读 647 次
概述:Silverlight3一个很显著的特点就是其应用可以在浏览器外运行。就是说一个在浏览器中运行的应用可以被独立(detached)出来,并通过一个桌面和开始菜单栏图标来启动执行,而不在需要有网络连接。这样给人的感觉其就像一个普通的桌面应用而不是一个浏览器应用程序。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
Silverlight3一个很显著的特点就是其应用可以在浏览器外运行。就是说一个在浏览器中运行的应用可以被独立(detached)出来,并通过一个桌面和开始菜单栏图标来启动执行,而不在需要有网络连接。这样给人的感觉其就像一个普通的桌面应用而不是一个浏览器应用程序。
为了实现独立(detached),用户必须对这类应用有个明确的选择:“该应用在没有用户
通知的情况下是不可以detached它自己的。下面用一个例子“Hello World”来展示一下:
还有一些代码:
然后我们在浏览器中运行它并看到一个新的鼠标右击菜单:
http://mtaulty.com/blog/images/Silverlight3RunningOutsidetheBrowser_8418/image_thumb.png
其允许将该应用独立出来并安装到本地。并且你会注意到,该菜单项是灰色的。
同样地,我们可以在按钮事件中加入一些代码并尝试分离这个应用。
但它并没有启作用,因为右键菜单依旧是灰的.原因在于这个应用没有相应的元数据支持。
为了提供元数据,我们要编辑一下 appmanifest.xml 文件:
注:上面这些图标文件必须在VS中以内容"Content"的文件嵌入到XAP文件中。
但我并不确保你也需要这里所有的文件,特别是这个"128x128"(文件);
这样当单击鼠标右键后该菜单项将会变成“有效”:
接着,我们前面创建的这个按钮将会触发一个对话框,提供给我们两个选项:
“将这个要运行在浏览器外的应用安装到桌面或开始菜单中”。
注:那是个标准对话框,而通过使用我本人头像设置的对话框是下面这个样子:
但我不打算这样做,我想还是显示标准对话框会好一些:)
如果点击该对话框后,该应用会尝试 detach 它自身。对我而言,它所做的工作就是
确保本地XAP文件的有效性。而不是去尝试把其它与它相关联的资源也获取到本地。
注:第二个应用拷贝现在运行在了窗体中,它与浏览器窗体还是有一些区别的。
现在我在桌面上有了该应用的一个图标:
并且在开始菜单中也有:
如果我从这两个地方运行这个应用时,会看到一个“非浏览器”的应用:
此时当我在浏览器中运行这个原始(版本)的应用时,它显示了相同的“Detached”状态:
好的,现在我修改一下原应用,将背景设置为"red":
然后再次运行并发布这个新的XAP到WEB服务器上。起初,它显示“Detached”,然后它切换
到“DetachedUpdatesAvailable".这意味着可以告诉用户该应用已被更新,并提示他们重启
该应用:
之后,将他们再运行该应用时,会获取到新的版本(我更新到服务器上的那个版本):
如果想删除该应用,可以在本地的“detached”拷贝或浏览器中右击菜单:
如果我点击上面菜单后,就会将开始菜单和桌面图标移除,这样在浏览器中该应用的状态就从
“Detached”变成了“RunningOnline”.
尽管 App.Current.ExecutionState属性返回“Detached”,但这与你在浏览器或本地运行
该应用是无关的。这是需要有另一个标志来决定该应用是从浏览器还是从本地(分离)启动。
在Application中有一个标志即“RunningOffline”,看上去它会返回true/false 状态。True
意味着当前应用是从本地独立启动的,而False则是在浏览器中启动的。
就当前应用实际运行的代码而言,当其离线时(offline),存在一个进程(文件位于:
Program Files\Microsoft Silverlight\VERSION\sllauncher.exe).看上去它就是通过应用名称
去运行相应程序。使用Reflector去浏览一下,发现其进程好像是非托管的运行,因此我不认为能
从中能获取一些内部信息。但其值得一说的是该launcher的roles之一就是保持应用的上下文安全。
即:如果应用是从域foo.com获取,那么该应用就必须本地化运行。尽管它是从foo.com上启动(
launched)的。
还有要注意的是这种detached在功能上貌似依赖于Isolated Storage(隔离)存储。因为我发
现当把应用“detached”时,必须在打开Isolated Storage,真是如此。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:博客园接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号