創建 Web應用程序用戶
下面創建一個Web應用程序StockConsumer.aspx,它作為這個StockQuote(股票報價) Web服務的第一個用戶。
<%@ Page language="C#" %> <%@ Import Namespace="System.Xml" %> <%@ Import Namespace="Quotes" %>
以上引入必要的名稱空間。要記住也要引入 Quotes名稱空間,它是代理庫的名稱空間。
<html> <head> <script runat=server> // Wire up the onClick event for a button protected void button1_Click(object sender, EventArgs e) { file://Create a object of the class DailyStock (the proxy class) DailyStock ds = new DailyStock();
// Call the GetQuote method of the proxy class DailyStock and // pass the symbol string from the textbox string res = ds.GetQuote(symbol.Text);
// The returned string has values which are separated // by commas. // Hence we split the returned string into parts char[] splitter = {','} ; string[] temp = res.Split(splitter);
// Check if the string array returned has more than one // elements since if there are less than one elements // then an exception must have been returned if(temp.Length >1) { // The WebService returns a lot of information about the // stock. We only show the relevant portions // Set the label to current Index curindex.Text = "Current Index :"+temp[1];
// Set the label to current Date Time curdate.Text ="Last Update on"+temp[2]+" at "+temp[3]; } else { error.Text = "Error :"+res ; file://set the error label } } </script>
以上ASP.NET頁面代碼中,首先對Web 服務DailyStock進行例示。由于已經生成了代理庫,因此Web服務的調用方法與其它任何庫的調用方法都相同。調用DailyStock 類的GetQuote()方法后,將返回一個字符串,其中包含了以逗號分隔的列表符號的完整信息。
我們將限制顯示給客戶的信息為只顯示當前指數和所報告指數的日期/時間。為了將字符串分成若干不同的部分,這里使用了字符串類的Split方法,在出現逗號的地方將字符串分割成部分。并且,將分割開的字符串組成數組之后,再使用相關的數值為Web頁面設置不同的標簽。
代碼的其余部分
<body> <center> <h2>.NET101 Stock Quote Consumer </h2>
<form runat=server > <table border=1 celspacing=1> <tr><th>Please enter the symbol below</th></tr> <tr><td> <asp:textbox id=symbol runat=server /> <asp:button id=button1 text="Get Quote" onClick="button1_Click" runat=server /> </td></tr> <tr><td><asp:label id=curindex runat=server /></td></tr> <tr><td><asp:label id=curdate runat=server /></td></tr> <tr><td><asp:label id=error runat=server /></td></tr> </table> </form>
</center> </body> </html>
|