频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

.NET Framework中使用XML Web Service(1)

作者: 51cto.com整理 出处:51cto.com  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2005-09-20 15:22
关 键 词:Web  .net  XML
阅读提示:Microsoft®.NET Framework 精简版的一个主要功能是能够使用 XML Web Service。Microsoft .NET Framework 精简版支持以两种不同的方式使用 XML Web Service:同步和异步。

Microsoft®.NET Framework 精简版的一个主要功能是能够使用 XML Web Service。Microsoft .NET Framework 精简版支持以两种不同的方式使用 XML Web Service:同步和异步。这两种方式各有优缺点。同步 XML Web Service 调用编码简单,而异步调用的编码略微复杂。如果 XML Web Service 长时间无响应,同步调用将冻结应用程序,而异步调用则允许用户在调用 XML Web Service 期间与应用程序进行交互。

通过 Smart Device(智能设备)项目使用 XML Web Service 时,将发生几秒钟的初始延迟。如果生成异步调用,则此延迟不会冻结应用程序的用户界面。当 .NET Framework 精简版运行时设置 XML Web Service 的连接细节并缓存连接细节时将发生此延迟。通常情况下,这会导致应用程序无响应。以后再调用 XML Web Service 时,性能将会显著提高。

本文说明了如何向 Smart Device(智能设备)项目添加对 XML Web Service 的 Web 引用,以及如何同步和异步调用 XML Web Service。

本文假设您在使用 Microsoft Visual Studio® .NET 2003 创建智能设备应用程序方面有一定的经验。

使用 Web 服务

要在 Smart Device(智能设备)项目中使用 XML Web Service,您需要在项目中添加 Web 引用。项目通过 Web 引用来使用 XML Web Service。在项目中添加 Web 引用时,Visual Studio .NET 将自动生成一个“代理类”(其中包含用作 XML Web Service 每个公开方法的代理的方法)。默认情况下,代理类不会显示在 Solution Explorer(解决方案资源管理器)中。应用程序使用自动生成的类(而不是使用自己的代码修改的类)来访问 XML Web Service。

要向项目中添加 Web 引用,请执行以下操作:

  1. 在 Solution Explorer(解决方案资源管理器)中,选择要使用 XML Web Service 的项目。
  2. 在 Project(项目)菜单上,选择 Add Web Reference(添加 Web 引用)。
  3. 输入要使用的 XML Web Service 的 URL,并单击 Go(转到)按钮。

Add Web Reference(添加 Web 引用)对话框

  1. 在 Web reference name(Web 引用名称)字段中,输入将在代码中用于以编程方式访问选定 XML Web Service 的名称。
  2. 单击 Add Reference(添加引用)按钮以在应用程序中创建对 XML Web Service 的引用。新引用将显示在 Solution Explorer(解决方案资源管理器)中选定项目的 Web References(Web 引用)节点下。

Visual Studio .NET 在添加 Web 引用时生成的代理类还包含用于同步或异步访问 Web 服务的方法。现在我们来看一下如何实现此目的。

生成同步 XML Web Service 调用

生成对 XML Web Service 的同步调用时,调用线程将中断,直到 XML Web Service 返回方法调用的结果。如果在服务器中调用的方法不需要太多的处理时间,且将迅速返回,则同步调用比较有用。此外,同步 XML Web Service 调用比异步调用容易实现。但是,通过 .NET Framework 精简版应用程序调用 XML Web Service 时将发生重大延迟,这将使应用程序锁定并使用户接口冻结,直到返回方法调用为止。

要生成同步 XML Web Service 调用,需要创建一个代理类实例,然后调用此代理类中的方法,方式与调用其他类中的方法相同。以下代码示例演示了如何生成对 XML Web Service 的 Web 方法(用于返回有关 SQL Server 附带的 Pubs 示例数据库中的书籍的信息)的调用。然后,代码将通过 DataSet 将数据加载到 Windows 窗体上的 ListView 控件。

此示例假设您在添加 Web 引用(如本文第一部分所述)时将 Web 引用命名为 BookCatalog。BookCatalog XML Web Service 包含 GetItems Web 方法,该方法将返回一个 DataSet 对象。此代码取自本文附带的下载中的 button1_Click() 事件处理程序。

// ---- 调用 XML Web Service ----
// 创建 Web 服务代理类的实例
BookCatalog.Service1 bookcatalog = new BookCatalog.Service1();
// 创建 DataSet 对象的新实例并调用 Web 服务
// 方法 GetItems 检索书籍列表
DataSet ds = bookcatalog.GetItems();
// ------------------------------

// ----  处理 DataSet ----
// 遍历 DataSet 并将每个行的 Title_ID 和 Title 字段
// 添加至 ListView
foreach(DataRow drBook in ds.Tables[0].Rows) {
    // 创建一个新 ListViewItem 添加到 ListView
    ListViewItem book = new ListViewItem();
    // 将 Title_ID 字段指定给 Text 属性
    book.Text = drBook["Title_ID"].ToString();
    // 将 Title 字段指定给第一个 SubItem
    book.SubItem[0].Text = drBook["Title"].ToString();
    // 将书 ListViewItem 添加到 ListView
    listView1.Items.Add(book);
}
// ------------------------------

共2页: 1 [2] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看51744次)
·UML类图详解 (查看46336次)
·Java编程开发手册 (查看24866次)
·UML统一建模语言 (查看23863次)
·C#技术开发指南 (查看21930次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (248个好)
·PB开发教程 (208个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有