应用程序扩展服务 是什么?为什么要使用?一开始看的时候我也很疑惑。于是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注册

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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>

或者在代码中添加

public App() {
this.ApplicationLifetimeObjects.Add(new ASvc());
}

3调用

代码

ASvc.Current.timeOver += new System.EventHandler(aSvc_timeOver);
}

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为什么要使用程序扩展服务相关推荐

  1. Silverlight+WCF+ArcObjects获取地图服务图层列表的实现

    很久没有写博客了,最近一直忙考试,只是被悲催的数学物理方程真的把我给伤着了..... 忙完了考试,又开始了导师的项目,然而发现项目的很多东西,用原始的ArcGIS Api for Silverligh ...

  2. Silverlight动态设置WCF服务Endpoint

    去年12月收到一位朋友的邮件,咨询Silverlight使用WCF服务,应用部署后一直无法访问的问题,通过几次交流,才发现在他的项目中,全部使用静态URL作为WCF服务的Endpoint地址,后来修改 ...

  3. Silverlight同步(Synchro“.NET研究”nous)调用WCF服务

    Silverlight的RIA应用中访问远端的WebService或WCF服务,都是通过异步线程模式调用的.在某些情况下我们的调用是需要同步进行,虽然Silverlight没有内置同步线程模式调用远端 ...

  4. Silverlight与WCF之间的通信(4)silverlight以net.tcp方式调用console上寄宿的wcf服务

    (由于最近是针对一个demo进行的研究,在之前公开过代码结构,这里只是对需要改动的地方加以说明) WCF4.0使得编写wcf服务不再那么复杂,去掉了许多的配置信息,客户端只需要一个服务地址,便可在系统 ...

  5. Silverlight:应用程序模型

    Silverlight 应用程序模型提供以下功能来供托管应用程序使用: 一个激活系统,它使得 Silverlight 插件能够下载您的应用程序在启动时需 要的应用程序包和任何外部库程序集. Appli ...

  6. Silverlight入门:第三部分 - 数据访问

    现在我们已经有了一个基础布局,同时也在上面放了一些控件,接下来让我 们开始获取数据.因为我们想要搜索Twitter上的内容,所以我们需要充分使用 他们提供的Web服务API.在继续之前,我要先说明在本 ...

  7. 分享Silverlight/WPF/Windows Phone一周学习导读(3月14日-3月19日)

    用了近一周的Windows Phone 7,作为长期使用iPhone的用户,刚使用WP7的确让人感觉挺生硬的,其中不乏先入为主的理由. 尽管如此,我还是非常喜欢Windows Phone 7个性界面, ...

  8. 使用ArcGIS API for Silverlight实现地形坡度在线分析

    苦逼的研究生课程终于在今天结束了,也许从今以后再也不会坐在大学的课堂上正式的听老师讲课了,接下来的时间就得开始找工作了.....前段时间一直比较忙,上课,考试,论文,以及联系实习单位...现在就差实习 ...

  9. 使用Silverlight Toolkit TreeView(树形控件)

       尽管在Silverlight Toolkit中有相关的DEMO来演示如何使用TreeView控件,但其还是有一些功能没被演示出来.因为在我们平时开发过程中,数据是被动态查询获取的(不是DEMO中 ...

最新文章

  1. PHP设计模式(4)命令链模式
  2. 电脑中所有exe文件无法运行解决方案
  3. 利用 Python 打造一个语音合成系统
  4. OpenJDK将对Android开发产生怎样的影响?
  5. 如何检查Go中是否存在文件?
  6. JS 时间转化为几分钟前 几小时前 几天前
  7. NLP之CRF分词训练(六)
  8. SQL表之间复制数据、选出随机几条数据、删除重复数据、取得自增长列等操作...
  9. 浅谈ASP中Web页面间的数据传递
  10. linux 多核 系统时钟,Linux中的时间
  11. Zabbix监控(十六):分布式监控-Zabbix Proxy
  12. Serverless实战 —— 三分钟入坑指北 Docsify + Serverless Framework 快速创建个人博客系统
  13. maven学习(1)
  14. 人生总是让人不知所错
  15. 实验2-1-3 计算物体自由下落的距离 (5 分)
  16. 2. sales quote merge before
  17. 西门子plc cpu228 4路模拟量输入 2路模拟量输出
  18. 判断字符串是否为空方法
  19. 基于Struts2的网上书城(仿当当网)系统设计与实现
  20. word横向网格线设置在哪里_word表格中横向网格线

热门文章

  1. 2018全球100个最有价值的科技品牌 18个中国品牌上榜
  2. 潘建伟团队进行人类首次洲际量子通信,给奥地利发去了什么?
  3. 华为生态链的全方位解读
  4. 埃森哲报告:2017年数字化浪潮下的医疗行业五大趋势
  5. 远看像乱序执行,近看是内存屏障的 BUG 是如何解决的?
  6. 学 JavaScript 伤不起……| 每日趣闻
  7. Neutron:Firewall as a Service(FWaaS)
  8. SXOI2019游记
  9. Android 仿微信朋友圈添加图片
  10. 数据恢复:解决ORA-600[kghstack_free2][kghstack_err+0068]一例