第6章 Windows程序中的調(diào)用_第1頁
第6章 Windows程序中的調(diào)用_第2頁
第6章 Windows程序中的調(diào)用_第3頁
第6章 Windows程序中的調(diào)用_第4頁
第6章 Windows程序中的調(diào)用_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于C#的Windows應(yīng)用程序開發(fā)實驗與實踐教程

第1章Windows窗體第2章Windows常用控件的使用第3章創(chuàng)建控件第4章面向?qū)ο缶幊毯喗榈?章使用ADO.NET訪問數(shù)據(jù)第6章Windows程序中的調(diào)用第7章GDI+的簡單編程第8章使用CrystalReports創(chuàng)建報表第9章提高程序的可訪問性第6章Windows程序中的調(diào)用第6章Windows程序中的調(diào)用6.1調(diào)用XMLWebService6.2調(diào)用COM組件6.3調(diào)用WindowsAPI6.4小結(jié)6.5習(xí)題6.1調(diào)用XMLWebService幾乎所有的應(yīng)用程序都可以訪問XMLWebService,包括其他的XMLWebService、Web應(yīng)用程序、Windows應(yīng)用程序和控制臺應(yīng)用程序等。唯一的要求是客戶端必須能夠向/從XMLWebService發(fā)送、接受和處理消息。XMLWebService的定義是什么呢?它是為其他應(yīng)用程序提供數(shù)據(jù)和服務(wù)的應(yīng)用程序邏輯單元;是一個通過URL可以訪問的功能集。XMLWebService的核心特征之一是服務(wù)的實現(xiàn)和使用之間存在高度的抽象。WebService模型

WebService體系結(jié)構(gòu)基于三種角色之間的交互,分別是:服務(wù)提供者、服務(wù)注冊中心和服務(wù)請求者。SOAPSOAP(簡單對象訪問協(xié)議)是一種基于XML的輕量級協(xié)議,用于分布式環(huán)境中交換信息。XMLWebService把SOAP作為網(wǎng)絡(luò)通信協(xié)議UDDI任何

客戶端SOAPSOAPXMLWebServiceSOAP網(wǎng)絡(luò)服務(wù)器WSDLWSDL(Web服務(wù)描述語言)根據(jù)Web服務(wù)接收和產(chǎn)生的消息描述它的XML語法。Web服務(wù)使用者和Web服務(wù)之間的協(xié)議。

規(guī)定Web服務(wù)操作(方法)中的類型和每個操作交換的文檔。在服務(wù)幫助頁面中可以看到。UDDIUDDI工作原理:第1步,在軟件公司和標(biāo)準(zhǔn)組織定義關(guān)于在UDDI中注冊的行業(yè)或企業(yè)的規(guī)范時,開始向注冊中心發(fā)布有用的信息。這些規(guī)范叫做技術(shù)模型或者更常見的說法是tModel。第2步,公司還會注冊關(guān)于其業(yè)務(wù)及其提供的服務(wù)的描述。第3步,UDDI注冊中心會給每個實體指定一個在程序中唯一的標(biāo)識符,叫做唯一通用標(biāo)識符(UniqueUniversalIdentifier,UUID)鍵,從而能隨時了解所有這些實體的情況。UUID鍵必須是唯一的,并且在一個UDDI注冊中心中從來都不會變化。這些鍵看上去象格式化好的十六進(jìn)制隨機字符串(例如C0B9FE13-179F-413D-8A5B-5004DB8E5BB2)??梢岳眠@些鍵來引用與之相關(guān)聯(lián)的實體。在一個注冊中心中創(chuàng)建的UUID鍵只在該注冊中心的上下文中有效。第4步,諸如電子交易場所(e-Marketplace)和搜索引擎等其它類型的客戶機與商業(yè)應(yīng)用程序(例如,基于工作流聚合起來的Web服務(wù))使用UDDI注冊中心來發(fā)現(xiàn)它們感興趣的服務(wù)。第5步,另外的企業(yè)就可以調(diào)用這些服務(wù),簡便的進(jìn)行動態(tài)集成。開發(fā)工具和平臺(1)Microsoft.NET無疑是概念上和技術(shù)上的雙料冠軍,其涵蓋面和復(fù)雜程度是首屈一指的,這其實也恰如其分地反映了Microsoft在XMLWebService領(lǐng)域的領(lǐng)導(dǎo)地位。(2)IBM在WebService領(lǐng)域的拓展一改20世紀(jì)的穩(wěn)重而稍兼保守的作風(fēng),變得積極進(jìn)取、大步流星,而且步步堅實。在WebService的規(guī)范上,Microsoft是IBM的主要合作伙伴,諸如SOAP、WSDL和UDDI,IBM和Microsoft都是絕對的技術(shù)先入者,而在內(nèi)部實現(xiàn)技術(shù),IBM則采用J2EE架構(gòu),在自身的Websphere平臺上提供了完整而且領(lǐng)先的WebService的開發(fā)工具。(3)Sun在WebService時代的解決方案是SunONE。不過SunONE更像是一個Sun提供的加入了WebService特性的J2EE平臺,而不像是一個純粹的WebService的開發(fā)平臺。6.1調(diào)用XMLWebService創(chuàng)建一個簡單的XMLWebService

【例6-1】創(chuàng)建一個簡單的XMLWeb服務(wù)6.1調(diào)用XMLWebService使用C#開發(fā)XMLWebService客戶端【例6-2】調(diào)用例6-1中創(chuàng)建的Web服務(wù)。實驗5:調(diào)用XMLWebService實驗?zāi)康模赫莆杖绾蝿?chuàng)建和調(diào)用XMLWebService實驗要求:創(chuàng)建一個Web服務(wù),使Windows應(yīng)用程序可以引用(調(diào)用)此web服務(wù)

實驗內(nèi)容:1、創(chuàng)建并引用一個的帶參數(shù)的web服務(wù)2、創(chuàng)建并調(diào)用一個web服務(wù),要求此web服務(wù)能返回一個數(shù)據(jù)集。6.2調(diào)用COM組件什么是COM組件在.NET中調(diào)用COM組件實例1:把文本寫入Word文檔實例2:將數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)出為Word文檔

COM是什么?

COM是組件對象模型(ComponentObjectModel)的縮寫,是OLE和ActiveX等技術(shù)的基礎(chǔ)。它并不是一種面向?qū)ο蟮恼Z言,而是一個技術(shù)標(biāo)準(zhǔn)。它并不定義語言、程序結(jié)構(gòu)或是實現(xiàn)細(xì)節(jié),而是把這些留給開發(fā)人員去處理,COM可以使用不同的語言來實現(xiàn)。在Windows操作系統(tǒng)中,除了操作系統(tǒng)內(nèi)核外,其他大多數(shù)的服務(wù)和進(jìn)程都與COM息息相關(guān)。在.NET調(diào)用COM組件托管對象:根據(jù)需要來執(zhí)行的對象CLR托管代碼通過一個叫做運行庫可調(diào)用包裝(RCW運行時調(diào)用封裝器)的代理調(diào)用COM對象運行庫對RCW進(jìn)行垃圾回收COM對象ACOM對象BRCWRCW.NET客戶端.NET客戶端非托管托管實例1把文本寫入doc文檔在構(gòu)建Word文檔的COM對象中需要傳遞大量的參數(shù),比如文檔模板等,而這些參數(shù)可能在編碼過程中并不需要使用,所以此時我們通過System.Reflection命名空間下的Missing類的Value屬性來取代無法提供或不需要提供的參數(shù)。這是在訪問COM組件時經(jīng)常用到的一種參數(shù)處理方式。Object

obj=(object)System.Reflection.Missing.Value;添加引用:MicrosoftWord11.0ObjectLibrary實例2使用COM導(dǎo)出數(shù)據(jù)庫中數(shù)據(jù)為word文件此實例主要介紹了MicrosoftWord對象模型中的Cell對象把數(shù)據(jù)庫記錄導(dǎo)出到word文檔表格中的編程技術(shù)。MicrosoftWord對象模型中,Tables集合對象是由Table對象組成的集合,代表選定內(nèi)容、范圍或文檔中的表格。Table對象中Cell對象代表單個表格單元格。使用Cell(x,y).Range.InsertAfter(“內(nèi)容”);方法可以將指定文本插入某一區(qū)域或選定內(nèi)容的后面。步驟:添加COM組件:MicrosoftWord11.0ObjectLibrary

命名空間:usingSystem.Data.SqlClient;usingMicrosoft.Office.Core;usingWord;usingSystem.Reflection;6.3調(diào)用WindowsAPIWin32API是Win32應(yīng)用程序編程接口,是微軟在Windows操作系統(tǒng)中提供的一系列可以讓應(yīng)用程序訪問操作系統(tǒng)的靜態(tài)函數(shù)。操作系統(tǒng)有從16位到64位的各種版本,因此稱為Win32似乎有些不合理,但是Win32API這個名稱已經(jīng)深入人心。WindowsAPI是DLL,并且是Windows操作系統(tǒng)的一部分。從Windows窗體應(yīng)用程序中調(diào)用API

在VisualStudio.NET中創(chuàng)建一個新的項目導(dǎo)入System.Runtime.InteropServices

命名空間using

System.Runtime.InteropServices;用DllImport

定義一個函數(shù)添加代碼從Windows窗體調(diào)用Win32API決定你要調(diào)用的函數(shù)的名稱、參數(shù)、參數(shù)類型等實例3:運行可執(zhí)行文件1,調(diào)用ShellExecute函數(shù)

[DllImport(“Shell32.dll”)]ShellExecute(hwnd,operation,Filename,””,””,3);2,調(diào)用PlaySound函數(shù)[DllImport(“winmm.dll”,EntryPoint=“PlaySound”)]PlaySound_DllImport(soundFileName,resourceHandle,0);實例4:播放聲音在此實例中,將創(chuàng)建并測試一個調(diào)用Win32PlaySoundAPI的類。PlaySoundAPI用來播放聲音文件(如.wav文件),它位于Winmm.dll文件中。它具有如下簽名:BOOLPlaySound( LPCSTRpszSound,HMODULEhmod,DWORDfdwSound);6.4小結(jié)本章從3個方面介紹了Windows應(yīng)用程序中涉及的調(diào)用:(1)調(diào)用XMLWebService。介紹了XMLWeb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論