Silverlight为什么要使用程序扩展服务
应用程序扩展服务 是什么?为什么要使用?一开始看的时候我也很疑惑。于是Google了一下。
BTW:baidu似乎不够用...
Sometimes working with silverlight you need to have a sort of service, always available for global tasks or
working in background notifing the main thread when something happen.
-------Andrea Boschin
具体用法:
1首先继承实现一个每7秒就报时来模拟一个读取新闻或者其他定时处理之类的东西
/// <summary>
/// 每7秒钟报一次时间
/// </summary>
public class ASvc : IApplicationService {
/// <summary>
/// 自己 单例模式
/// </summary>
public static ASvc Current { get; set; }
public event EventHandler timeOver;
void dis_Tick(object sender, EventArgs e) {
timeOver(sender, e);
}
public ASvc() {
Current = this;
}
#region IApplicationService Members
private DispatcherTimer dis;
public void StartService(ApplicationServiceContext context) {
MessageBox.Show("StartService" + context.ApplicationInitParams);
dis = new DispatcherTimer();
dis.Interval = TimeSpan.FromSeconds(7);
dis.Tick += new EventHandler(dis_Tick);
dis.Start();
}
public void StopService() {
MessageBox.Show("StopService");
dis.Stop();
dis.Tick -= dis_Tick;
}
#endregion
}
2注册
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SLstudy.App"
xmlns:svc="clr-namespace:SLstudy"
>
<Application.ApplicationLifetimeObjects>
<svc:ASvc/>
</Application.ApplicationLifetimeObjects>
<Application.Resources>
</Application.Resources>
</Application>
或者在代码中添加
this.ApplicationLifetimeObjects.Add(new ASvc());
}
3调用
}
void aSvc_timeOver(object sender, System.EventArgs e) {
MessageBox.Show(sender + "7秒钟啦");
}
测试的时候,发现,先执行页面初始化再执行 扩展服务类的构造函数。
1 当需要整个程序的背景线程执行东西的时候。
比如邮件获取,广告等等。
2 操作比较频繁的时候可以考虑。
3 如果不这样做,会频繁实例化然后销毁的时候。
他 使用扩展服务更具模块化的特性。
显得耦合更加小。从全局的一个容器中取出来就来了。
使用它的便利
1 他帮你完成了初始化和关闭(接口调用)
2 帮你解析动态配置 APP..XAML
但是我在网上搜的时候发现3和4的用法都不一样。不知道5会不会改呢?
使用它的优势还是很明显的。
其实园子里 webabcd 已经介绍了这些。。。(他基本都说完了。。。)
但是没有说明具体的用法,
参考
http://www.cnblogs.com/webabcd/archive/2009/09/08/1562249.html
Silverlight 3.0: Application Extensibility
Silverlight为什么要使用程序扩展服务相关推荐
- Silverlight+WCF+ArcObjects获取地图服务图层列表的实现
很久没有写博客了,最近一直忙考试,只是被悲催的数学物理方程真的把我给伤着了..... 忙完了考试,又开始了导师的项目,然而发现项目的很多东西,用原始的ArcGIS Api for Silverligh ...
- Silverlight动态设置WCF服务Endpoint
去年12月收到一位朋友的邮件,咨询Silverlight使用WCF服务,应用部署后一直无法访问的问题,通过几次交流,才发现在他的项目中,全部使用静态URL作为WCF服务的Endpoint地址,后来修改 ...
- Silverlight同步(Synchro“.NET研究”nous)调用WCF服务
Silverlight的RIA应用中访问远端的WebService或WCF服务,都是通过异步线程模式调用的.在某些情况下我们的调用是需要同步进行,虽然Silverlight没有内置同步线程模式调用远端 ...
- Silverlight与WCF之间的通信(4)silverlight以net.tcp方式调用console上寄宿的wcf服务
(由于最近是针对一个demo进行的研究,在之前公开过代码结构,这里只是对需要改动的地方加以说明) WCF4.0使得编写wcf服务不再那么复杂,去掉了许多的配置信息,客户端只需要一个服务地址,便可在系统 ...
- Silverlight:应用程序模型
Silverlight 应用程序模型提供以下功能来供托管应用程序使用: 一个激活系统,它使得 Silverlight 插件能够下载您的应用程序在启动时需 要的应用程序包和任何外部库程序集. Appli ...
- Silverlight入门:第三部分 - 数据访问
现在我们已经有了一个基础布局,同时也在上面放了一些控件,接下来让我 们开始获取数据.因为我们想要搜索Twitter上的内容,所以我们需要充分使用 他们提供的Web服务API.在继续之前,我要先说明在本 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(3月14日-3月19日)
用了近一周的Windows Phone 7,作为长期使用iPhone的用户,刚使用WP7的确让人感觉挺生硬的,其中不乏先入为主的理由. 尽管如此,我还是非常喜欢Windows Phone 7个性界面, ...
- 使用ArcGIS API for Silverlight实现地形坡度在线分析
苦逼的研究生课程终于在今天结束了,也许从今以后再也不会坐在大学的课堂上正式的听老师讲课了,接下来的时间就得开始找工作了.....前段时间一直比较忙,上课,考试,论文,以及联系实习单位...现在就差实习 ...
- 使用Silverlight Toolkit TreeView(树形控件)
尽管在Silverlight Toolkit中有相关的DEMO来演示如何使用TreeView控件,但其还是有一些功能没被演示出来.因为在我们平时开发过程中,数据是被动态查询获取的(不是DEMO中 ...
最新文章
- PHP设计模式(4)命令链模式
- 电脑中所有exe文件无法运行解决方案
- 利用 Python 打造一个语音合成系统
- OpenJDK将对Android开发产生怎样的影响?
- 如何检查Go中是否存在文件?
- JS 时间转化为几分钟前 几小时前 几天前
- NLP之CRF分词训练(六)
- SQL表之间复制数据、选出随机几条数据、删除重复数据、取得自增长列等操作...
- 浅谈ASP中Web页面间的数据传递
- linux 多核 系统时钟,Linux中的时间
- Zabbix监控(十六):分布式监控-Zabbix Proxy
- Serverless实战 —— 三分钟入坑指北 Docsify + Serverless Framework 快速创建个人博客系统
- maven学习(1)
- 人生总是让人不知所错
- 实验2-1-3 计算物体自由下落的距离 (5 分)
- 2. sales quote merge before
- 西门子plc cpu228 4路模拟量输入 2路模拟量输出
- 判断字符串是否为空方法
- 基于Struts2的网上书城(仿当当网)系统设计与实现
- word横向网格线设置在哪里_word表格中横向网格线
热门文章
- 2018全球100个最有价值的科技品牌 18个中国品牌上榜
- 潘建伟团队进行人类首次洲际量子通信,给奥地利发去了什么?
- 华为生态链的全方位解读
- 埃森哲报告:2017年数字化浪潮下的医疗行业五大趋势
- 远看像乱序执行,近看是内存屏障的 BUG 是如何解决的?
- 学 JavaScript 伤不起……| 每日趣闻
- Neutron:Firewall as a Service(FWaaS)
- SXOI2019游记
- Android 仿微信朋友圈添加图片
- 数据恢复:解决ORA-600[kghstack_free2][kghstack_err+0068]一例