,移动开发   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,移动开发
您的位置:软件 > 开发者网络 > 开发工具 > 移动开发 > 正文
.NET Framework 精简版后台处理技术
[文章信息]
作者:
时间:2003-05-10
出处:Mirosoft
责任编辑:
[文章导读]
执行后台处理牵涉到很多方面,要求非常仔细地进行设计。本文提供了一些有关充分利用后台处理的建议......
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

1 2 3 4  下一页

  摘要:执行后台处理牵涉到很多方面,要求非常仔细地进行设计。本文提供了一些有关充分利用后台处理的建议,并提出了很多必须解决的问题。

  简介

  应用程序通常需要在后台执行长时间运行的操作,同时还要提供积极的、响应及时的用户体验。这种情况在智能设备开发过程中最为常见。Pocket PC 上运行的应用程序必须能够随时执行用户所需的任务,但是,由于此类设备的 CPU 处理能力通常都有限,而且常常使用低带宽连接,因此限制了很多进程的执行速度,对较为复杂的应用程序更是如此。通常情况下,要处理长时间运行的任务,最好是在后台进行长时间处理,同时使用户可以与应用程序进行交互。

  执行后台处理牵涉到很多方面,要求非常仔细地进行设计。下面提供了一些有关充分利用后台处理的建议,并提出了很多必须解决的问题。

  后台处理的类型

  .NET Framework 精简版提供了三种基本技术,支持将长时间运行的处理移到后台进行。异步 XML Web Service、线程池和显式创建的线程这三种技术分别适用于不同的情况,需要正确地应用和管理。

  异步 XML Web Service

  Web 服务为智能设备与中央服务之间的通信提供了一种易于使用的机制。通常情况下,Web 服务必须传输大量数据,而且必须通过低速移动连接来实现传输。此类长时间运行的数据传输最适合利用 .NET Framework 精简版的功能来异步管理 Web 服务调用。

  通常情况下,Web 服务是通过 Visual Studio .NET 的“Add Web Reference”(添加 Web 引用)或 WSDL 命令行实用程序生成的代理类调用的。利用此技术,应用程序开发人员可以对代理类调用本地方法,控制实际调用远程 Web 服务所需的 XML 的生成、传输和分析等方面的细节。生成的代理类为每个 Web 服务操作提供三个方法。其中一个方法的名称与异步调用 Web 服务的 Web 服务操作相同,另外两个方法的前缀分别为“Begin”和“End”,用于异步调用 Web 服务。例如,执行 Add(添加)操作的 Web 服务代理包含名为 Add、BeginAdd 和 EndAdd 的方法。

  注意:有关使用 Visual Studio .NET 的“Add Web Reference”(添加 Web 引用)功能的详细信息,请参阅 Adding and Removing Web References(英文)。有关 WSDL 命令行实用程序的详细信息,请参阅 Web Services Description Language Tool(英文)。

  进行异步 Web 服务调用

  异步启动 Web 服务与调用该操作的“Begin”方法一样简单。假设 Web 服务 Add(添加)操作需要两个整数参数。以下代码将异步调用 Web 服务。

  MathProxy wsMath = new MathProxy();
  wsMath.BeginAdd(10, 15, null, null);

  调用 BeginAdd 并不会直接调用 Web 服务,而是对实际的 Web 服务调用进行排队,然后立即返回。调用返回时,Web 服务本身不提供任何信息,而是返回一个 IAsyncResult 引用,用于检索实际 Web 服务调用的结果。

class MyCalcForm : Form
{
private IAsyncResult _addAsyncResult ;
private MathProxy _wsMath = new MathProxy() ;
public void btnAdd_OnClick(object sender, EventArgs e)
{
_addAsyncResult = _wsMath.BeginAdd(10, 15, null, null) ;
}

  IAsyncResult 使应用程序能够确定调用完成的时间,并且可以检索调用结果。将 IAsyncResult 存储为类成员后,应用程序即可调用与启动时不同的方法,检索 Web 服务的调用结果。

  为了检索 Web 服务的结果,应用程序调用代理的“End”方法,传递前面返回的 IAsyncResult,如以下代码所示。

  int sum = _wsMath.EndAdd(_addAsyncResult) ;

  “End”方法返回 Web 服务的返回值以及任何 ref (ByRef) 或 out 参数。

  确定异步 Web 服务调用完成的时间

  应用程序必须先确定调用已经完成,然后才能检索异步 Web 服务调用的结果。应用程序可以选择完成时通知应用程序、中断等待完成或轮询三种方式确定 Web 服务是否完成。


1 2 3 4  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
,移动开发相关内容,移动开发焦点新闻
  • 创建基于.NET Framework 精简版的动画控件
  • VS.NET和.NET Framework 精简版入门
  • .NET Framework 中的无接触部署
  • 微软公开.Net Framework 1.1最新测试版
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,移动开发Advertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价