免責聲明:本文適用於在C#命令行下開發編譯器。對於安裝了MS.NET的朋友來說,開發客戶端會更容易。我後來註銷了自己的開發程序,這篇文章是為我摘錄的。提取網址:/2016.html
(1)
Web服務,即網絡服務,是微軟的壹個非常重要的概念。網絡策略。其目的是將網站轉變為集組織、應用、服務和設備於壹體的可設計網站,使網站不再處於被動地位。
本文將介紹如何建立和使用在。NET平臺。我們將使用雅虎的免費服務以CSV(逗號分隔值)格式提供股票報價,並將其包含在我們的web服務中。
註意:此報價服務例程的運行延遲了大約15分鐘,這僅用於教學目的。
建立Web服務
接下來,我們將逐步解釋代碼,以幫助您理解中Web服務的編程模式。網。我們可以使用記事本等任何文本編輯器在此處編寫Web服務例程代碼,最後將文件保存為StockQuote.asmx請註意,所有Web服務文件都以擴展名*。asmx保存。
《% @ web service Language =“c#“class =“daily stock“%》
代碼的第壹行用C#定義了壹個Web服務。class屬性用於指示Web服務應該調用和使用的類。如果Web服務中使用了許多類,則該屬性應該用於指示Web服務應該首先調用的類。
使用系統;
使用系統。網絡服務;
使用System.Net;
使用系統。IO;
使用系統。文本;
上面的代碼負責引入必要的名稱空間。記住總是引入命名空間System.Web.Services .根據類的需要,引入保留的命名空間。
公共類DailyStock : WebService
{
......
....
}
這裏我們將公共類定義為DailyStock,它擴展了系統。Web.Services.WebService類。所有希望作為Web服務公開的類都應該擴展系統。web.services.webservices類。此外,Web服務的訪問修飾符總是公共的。
【網絡方法】
公共字符串GetQuote(字符串符號)
{
........
........
}
上面我們定義了壹個公共Web方法GetQuote。像同類的定義壹樣,Web方法也應該用修飾符public來聲明。【WebMethod】屬性表示將在Web服務中使用的壹些潛在方法,客戶想要訪問的所有方法都應該用【WebMethod】屬性標記。GetQuote方法接受壹個字符串輸入參數,該參數包含用戶所需的引號。該方法返回包含股票報價或錯誤的字符串。
string ret
嘗試
{
//雅虎報價服務的路徑
string full path = @“MAS。
//因此我們將返回的字符串分成幾部分
char【】splitter = {‘,‘};
string【】temp = RES . Split(拆分器);
//檢查返回的字符串數組是否不止壹個
//元素,因為如果元素少於壹個
//那麽肯定返回了異常
如果(溫度長度& gt1)
{
WebService返回大量關於
//股票。我們只顯示相關部分
//將標簽設置為當前索引
科林德斯。Text =“當前索引:“+temp【1】;
//將標簽設置為當前日期時間
凝固。Text =“上次更新於“+temp【2】+“於“+temp【3】;
}
其他
{
錯誤。text =“Error:“+RES;文件://設置錯誤標簽
}
}
在上面的ASP.NET頁面代碼中,首先以Web服務DailyStock為例。由於代理庫已經生成,Web服務的調用方法與任何其他庫的調用方法相同。調用DailyStock類的GetQuote()方法後,將返回包含逗號分隔的列表符號的完整信息的字符串。
我們將限制向客戶顯示的信息,僅顯示當前指數和報告指數的日期/時間。為了將字符串分成幾個不同的部分,這裏使用string類的Split方法將字符串分成出現逗號的部分。此外,在將分離的字符串分組為數組後,通過使用相關的數值為網頁設置不同的標簽。
代碼的其余部分
<正文>
<中心>
《H2》。net 101股票報價消費者《/h2》
《form runat=server》
《表格邊框=1單元格間距=1》
請輸入下面的符號
< tr>
《ASP:textbox id = symbol runat = server/》
《ASP:button id = button 1 text =“Get Quote“onClick =“button 1 _ Click“runat = server/》
《ASP:label id = curindex runat = server/》《TD》
《ASP:label id = curdate runat = server/》《TD》
《ASP:label id = error runat = server/》《TD》
表格>