當前位置:工程項目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA行業(yè)資訊
創(chuàng)建.NET Web服務
創(chuàng)建.NET Web服務
Web服務是構造分布式、模塊化應用程序的最新技術發(fā)展趨勢。Web服務可以把業(yè)務邏輯劃分一個一個的組件,然后在整個因特網的范圍上執(zhí)行其功能。本文就是向讀者展示一個簡單的.NET Web服務創(chuàng)建過程。
假如你過去曾經構造過微軟世界的COM組件,那么你對創(chuàng)造可重用對象中間層的概念應該是比較熟悉了,正是可重用對象可以讓開發(fā)者重用代碼、利用由此帶來的軟件開發(fā)靈活性。這些組件能作為客戶應用程序放在同一計算機上執(zhí)行,或者以DCOM的形式在分離的機器上執(zhí)行。
現(xiàn)在的.NET體系則把以上的概念大大推進了一步,.NET允許你把組件放在遠程計算機上,而且你同這些遠程計算機之間僅存在HTTP連接;換句話說,這些遠程機器可能并不在企業(yè)網絡內。由于SOAP協(xié)議的出現(xiàn),DCOM的二進制標準也被基于文本和XML的調用語法代替了,新的技術標準允許客戶采用任何操作系統(tǒng)調用Web服務,而這些Web服務則運行在任何操作系統(tǒng)上。
用.NET打造Web服務
微軟早在大約兩年前就發(fā)布了針對Visual Basic
6的SOAP工具包,但是,.NET出現(xiàn)后則進一步把構造Web服務的任務變得更方便了。對Web服務的支持已經內置在了.NET基礎框架之內,這意味著任何.NET語言都能創(chuàng)建Web服務。Web服務甚至成為了Visual
Studio.NET中的一種工程類型。就象大多數(shù).NET工程類型一樣,你甚至能采用記事本這樣的文本編輯程序創(chuàng)建全部應用程序。
為了創(chuàng)建Web服務,你的開發(fā)計算機上至少需要安裝了ASP.NET引擎。這種引擎屬于.NET框架和Visual Studio.NET的一部分。如果你手頭沒有ASP.NET引擎,那么你不妨從asp.net網站下載ASP.NET。下載軟件只能在Windows 2000和Windows XP上使用。安裝了ASP.NET之后,你要不創(chuàng)建一個虛擬目錄要不直接在inetpubwwwroot目錄下創(chuàng)建自己的文件,我舉的例子就用后面的方法。
最近看過倫敦一家公司的網站,他們網頁上的價格單位是英磅。頁面上有一個轉換工具允許你把英鎊換算為美元。這個轉換工具就是一個絕佳的Web服務實例。現(xiàn)在就請打開記事本程序準備創(chuàng)建XML Web服務吧。
創(chuàng)建Web服務的第一步是標識Web服務、說明服務使用的語言同時創(chuàng)建的類的名字。在這個例子中,采用的Web服務編程語言是Visual Basic.NET,類的名字是ConvertMoney。你的第一行代碼如下所示:
<%@ WebService Language=”VB” Class=”ConvertMoney” %>
接著,采用Imports聲明導入System.Web.Services名稱空間。這樣做才能讓你按照名字索引WebService等類而無須索引整個名稱空間。該行代碼如下所示:
Imports System.Web.Services
然后創(chuàng)建Web服務自身的shell。WebService類在你自己的類的名字前加上前綴,代碼如下:
<WebService()>Public Class ConvertMoney
‘ code will go here
End
Class
到這一步幾乎就可以增加類的功能了,但是你還得先增加一行關鍵代碼。你必須繼承WebService基類,這是.NET框架的一部分。這樣做所實現(xiàn)的功能令你的服務類可以被任何Internet客戶調用。增加Inherits聲明之后,所有的代碼如下所示。
<%@ WebService Language=”VB” Class=”ConvertMoney” %>
Imports
System.Web.Services
<WebService()>Public Class
ConvertMoney
Inherits WebService
‘ code will go here
End
Class
現(xiàn)在就可以給你的類添加功能了。在這里,你創(chuàng)建了一個簡單函數(shù)接受英鎊的貨幣量然后返回美元值。通常,你還應該在數(shù)據(jù)庫內找到兩種貨幣之間的交換匯率。在上面的例子里,你在代碼中直接把匯率設定為1英鎊可兌換1.44美元。在以上代碼塊中增加代碼之后全部Web服務代碼如下所示。
<%@
WebService Language=”VB” Class=”ConvertMoney” %>
Imports
System.Web.Services
<WebService()>Public Class
ConvertMoney
Inherits WebService
<WebMethod()>Public Function
_
PoundsToDollars(BritishPounds As Double) As Double
Return
BritishPounds * 1.44
End Function
End Class
代碼編寫完畢,你把代碼文件存放在某個虛擬目錄下(通常是c:inetpubwwwroot)即可。把文件保存為Converter.asmx。ASMX文件擴展名是.NET Web服務的標記。保存文件之后,你的Web服務就準備露臉了。
測試服務
現(xiàn)在準備好測試Web服務。期間你不必通過顯式的編譯全過程,只需要地在目錄下保存文件然后調用它即可。ASP.NET會即時編譯代碼,就象ASP的處理一樣。不過你得清楚地知道:編譯的結果是本機代碼,而傳統(tǒng)ASP文件處理采用的是解釋方式,兩者之間有重大差別。
為了調用最新創(chuàng)建的服務,請打開你的瀏覽器并輸入服務路徑,包括ASMX文件的名字。如果你把服務放了在c:inetpubwwwroot目錄下,那么你要在瀏覽器地址欄上鍵入http://localhost/converter.asmx。
在調用服務時會顯示一幅包含大量信息的網頁。一開始這可能會令你覺得有點糊涂:不管怎么說,你還沒有為這種服務創(chuàng)造過HTML網頁。其實,你根本不必創(chuàng)建測試網頁,因為.NET框架已經幫你這個忙了。當你直接通過瀏覽器調用Web服務時,框架就會為你產生一個網頁并通過它向你顯示Web服務的信息,同時列出所有可用的方法。圖A即是Web服務的網頁。
圖A
調用最新創(chuàng)建的Web服務
在這個例子中列出的方法沒什么特別之處,因為僅有一個方法(PoundsToDollars)。鼠標點擊這個方法會顯示另一個網頁,如圖B所示。這一頁就是該特定方法的測試頁,其中包括對應方法接受的每個參數(shù)的文本框。現(xiàn)在請在文本框中輸入“50”并按下Invoke按鈕。
圖B
選中PoundsToDollars方法
單擊Invoke按鈕會打開一個新的瀏覽器窗口,其中顯示了一些XML代碼。這些XML代碼是由Web服務返回的其中包括了服務結果。返回的XML代碼如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<double xmlns="72http://tempuri.org/">72</double>
返回結果確實不一定非要采取對用戶友好的格式,因為你通常不會從瀏覽器直接調用Web服務。相反,你往往從應用程序調用Web服務同時適當?shù)靥幚矸祷氐腦ML代碼。不過,也很容易從上面的代碼看出Web服務已經把50英鎊轉換成了72美元。
小結
上面舉的這個例子很簡單,它完成的任務是:創(chuàng)建一個組件,如果組件放在Web服務器上就可以被世界上任何地方的任何人訪問。客戶不必裝載COM 或DCOM;甚至也不必擁有Windows客戶程序。任何能創(chuàng)建HTTP連接的客戶程序都能調用Web服務并且收到結果。這種功能開辟了創(chuàng)建分布式應用程序、實現(xiàn)平臺之間互操作的全新領域。
- 1杜絕管理漏洞 打響信息化之戰(zhàn)(三)
- 2母子公司之間的知識管控模式探討
- 3網絡銀行在金融信息化中改變了什么
- 4業(yè)內人士認為網絡服務是2002年IT熱點
- 5鋼鐵企業(yè)erp系統(tǒng)多少錢采購系統(tǒng)分析與流程設計
- 6SOA過分吹噓已成過去時 益處正在顯現(xiàn)
- 7掌握ITIL的最佳實踐四要素
- 8企業(yè)實施:信息化怎樣破冰(二)
- 9XX市健康教育所微信公眾平臺總體需求
- 10調查:企業(yè)應用SOA勢頭正在強勁增長
- 11重慶OA幫助企業(yè)雇傭員工頭腦(Kevin)
- 12重慶泛普軟件房地產OA辦公軟件中實現(xiàn)標桿企業(yè)的項目關鍵節(jié)點(集
- 13物流配送成本的監(jiān)控
- 14九要素構建城市數(shù)字化管理方案
- 15流程審批OA辦公系統(tǒng)解決財務報銷等問題
- 16公司強有力的執(zhí)行力,離不開自身的OA協(xié)同管理平臺
- 17企業(yè)級項目管理體系建設概述
- 18精益生產模式與企業(yè)全面質量管理
- 19眾說紛紜正版化不能等同于國產化
- 20公文管理是重慶集團OA軟件系統(tǒng)的重要功能之一
- 21企業(yè)如何規(guī)避IT外包風險
- 22[原創(chuàng)]“黑盒”還是“白盒”——企業(yè)信息部門的IT治理之路
- 23重慶律師事務所OA軟件建設典型案例分析
- 24BPM的主導權應該由誰來掌握?
- 25SaaS、PaaS、云計算 掀起你的蓋頭來
- 26泛華集團的混業(yè)路徑 統(tǒng)一支撐平臺
- 27Broadview COSSIT運維管理故事
- 28研究院OA辦公自動化系統(tǒng)是怎么樣的呢
- 29ERP項目實施 要跑好哪“三匹馬”?
- 30中國挑戰(zhàn)美國制造業(yè)霸主地位
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓