第6章 Windows程序中的调用_第1页
第6章 Windows程序中的调用_第2页
第6章 Windows程序中的调用_第3页
第6章 Windows程序中的调用_第4页
第6章 Windows程序中的调用_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于C#的Windows应用程序开发实验与实践教程

第1章Windows窗体第2章Windows常用控件的使用第3章创建控件第4章面向对象编程简介第5章使用ADO.NET访问数据第6章Windows程序中的调用第7章GDI+的简单编程第8章使用CrystalReports创建报表第9章提高程序的可访问性第6章Windows程序中的调用第6章Windows程序中的调用6.1调用XMLWebService6.2调用COM组件6.3调用WindowsAPI6.4小结6.5习题6.1调用XMLWebService几乎所有的应用程序都可以访问XMLWebService,包括其他的XMLWebService、Web应用程序、Windows应用程序和控制台应用程序等。唯一的要求是客户端必须能够向/从XMLWebService发送、接受和处理消息。XMLWebService的定义是什么呢?它是为其他应用程序提供数据和服务的应用程序逻辑单元;是一个通过URL可以访问的功能集。XMLWebService的核心特征之一是服务的实现和使用之间存在高度的抽象。WebService模型

WebService体系结构基于三种角色之间的交互,分别是:服务提供者、服务注册中心和服务请求者。SOAPSOAP(简单对象访问协议)是一种基于XML的轻量级协议,用于分布式环境中交换信息。XMLWebService把SOAP作为网络通信协议UDDI任何

客户端SOAPSOAPXMLWebServiceSOAP网络服务器WSDLWSDL(Web服务描述语言)根据Web服务接收和产生的消息描述它的XML语法。Web服务使用者和Web服务之间的协议。

规定Web服务操作(方法)中的类型和每个操作交换的文档。在服务帮助页面中可以看到。UDDIUDDI工作原理:第1步,在软件公司和标准组织定义关于在UDDI中注册的行业或企业的规范时,开始向注册中心发布有用的信息。这些规范叫做技术模型或者更常见的说法是tModel。第2步,公司还会注册关于其业务及其提供的服务的描述。第3步,UDDI注册中心会给每个实体指定一个在程序中唯一的标识符,叫做唯一通用标识符(UniqueUniversalIdentifier,UUID)键,从而能随时了解所有这些实体的情况。UUID键必须是唯一的,并且在一个UDDI注册中心中从来都不会变化。这些键看上去象格式化好的十六进制随机字符串(例如C0B9FE13-179F-413D-8A5B-5004DB8E5BB2)。可以利用这些键来引用与之相关联的实体。在一个注册中心中创建的UUID键只在该注册中心的上下文中有效。第4步,诸如电子交易场所(e-Marketplace)和搜索引擎等其它类型的客户机与商业应用程序(例如,基于工作流聚合起来的Web服务)使用UDDI注册中心来发现它们感兴趣的服务。第5步,另外的企业就可以调用这些服务,简便的进行动态集成。开发工具和平台(1)Microsoft.NET无疑是概念上和技术上的双料冠军,其涵盖面和复杂程度是首屈一指的,这其实也恰如其分地反映了Microsoft在XMLWebService领域的领导地位。(2)IBM在WebService领域的拓展一改20世纪的稳重而稍兼保守的作风,变得积极进取、大步流星,而且步步坚实。在WebService的规范上,Microsoft是IBM的主要合作伙伴,诸如SOAP、WSDL和UDDI,IBM和Microsoft都是绝对的技术先入者,而在内部实现技术,IBM则采用J2EE架构,在自身的Websphere平台上提供了完整而且领先的WebService的开发工具。(3)Sun在WebService时代的解决方案是SunONE。不过SunONE更像是一个Sun提供的加入了WebService特性的J2EE平台,而不像是一个纯粹的WebService的开发平台。6.1调用XMLWebService创建一个简单的XMLWebService

【例6-1】创建一个简单的XMLWeb服务6.1调用XMLWebService使用C#开发XMLWebService客户端【例6-2】调用例6-1中创建的Web服务。实验5:调用XMLWebService实验目的:掌握如何创建和调用XMLWebService实验要求:创建一个Web服务,使Windows应用程序可以引用(调用)此web服务

实验内容:1、创建并引用一个的带参数的web服务2、创建并调用一个web服务,要求此web服务能返回一个数据集。6.2调用COM组件什么是COM组件在.NET中调用COM组件实例1:把文本写入Word文档实例2:将数据库中数据导出为Word文档

COM是什么?

COM是组件对象模型(ComponentObjectModel)的缩写,是OLE和ActiveX等技术的基础。它并不是一种面向对象的语言,而是一个技术标准。它并不定义语言、程序结构或是实现细节,而是把这些留给开发人员去处理,COM可以使用不同的语言来实现。在Windows操作系统中,除了操作系统内核外,其他大多数的服务和进程都与COM息息相关。在.NET调用COM组件托管对象:根据需要来执行的对象CLR托管代码通过一个叫做运行库可调用包装(RCW运行时调用封装器)的代理调用COM对象运行库对RCW进行垃圾回收COM对象ACOM对象BRCWRCW.NET客户端.NET客户端非托管托管实例1把文本写入doc文档在构建Word文档的COM对象中需要传递大量的参数,比如文档模板等,而这些参数可能在编码过程中并不需要使用,所以此时我们通过System.Reflection命名空间下的Missing类的Value属性来取代无法提供或不需要提供的参数。这是在访问COM组件时经常用到的一种参数处理方式。Object

obj=(object)System.Reflection.Missing.Value;添加引用:MicrosoftWord11.0ObjectLibrary实例2使用COM导出数据库中数据为word文件此实例主要介绍了MicrosoftWord对象模型中的Cell对象把数据库记录导出到word文档表格中的编程技术。MicrosoftWord对象模型中,Tables集合对象是由Table对象组成的集合,代表选定内容、范围或文档中的表格。Table对象中Cell对象代表单个表格单元格。使用Cell(x,y).Range.InsertAfter(“内容”);方法可以将指定文本插入某一区域或选定内容的后面。步骤:添加COM组件:MicrosoftWord11.0ObjectLibrary

命名空间:usingSystem.Data.SqlClient;usingMicrosoft.Office.Core;usingWord;usingSystem.Reflection;6.3调用WindowsAPIWin32API是Win32应用程序编程接口,是微软在Windows操作系统中提供的一系列可以让应用程序访问操作系统的静态函数。操作系统有从16位到64位的各种版本,因此称为Win32似乎有些不合理,但是Win32API这个名称已经深入人心。WindowsAPI是DLL,并且是Windows操作系统的一部分。从Windows窗体应用程序中调用API

在VisualStudio.NET中创建一个新的项目导入System.Runtime.InteropServices

命名空间using

System.Runtime.InteropServices;用DllImport

定义一个函数添加代码从Windows窗体调用Win32API决定你要调用的函数的名称、参数、参数类型等实例3:运行可执行文件1,调用ShellExecute函数

[DllImport(“Shell32.dll”)]ShellExecute(hwnd,operation,Filename,””,””,3);2,调用PlaySound函数[DllImport(“winmm.dll”,EntryPoint=“PlaySound”)]PlaySound_DllImport(soundFileName,resourceHandle,0);实例4:播放声音在此实例中,将创建并测试一个调用Win32PlaySoundAPI的类。PlaySoundAPI用来播放声音文件(如.wav文件),它位于Winmm.dll文件中。它具有如下签名:BOOLPlaySound( LPCSTRpszSound,HMODULEhmod,DWORDfdwSound);6.4小结本章从3个方面介绍了Windows应用程序中涉及的调用:(1)调用XMLWebService。介绍了XMLWeb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论