人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

股票報價的WebService之一

股票報價的WebService之一

更新時間:2022-09-28 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

Web Services,即Web服務(wù),是微軟.NET戰(zhàn)略中非常重要的一個概念。它的目的是將Web站點轉(zhuǎn)變?yōu)榧M織、應(yīng)用、服務(wù)以及設(shè)備于一體的可設(shè)計Web站點,使Web站點不再處于被動的地位。

  本文將介紹如何建立和使用一個在.NET 平臺上提供股票報價的Web服務(wù)。我們將使用Yahoo的一項以CSV(以逗號分隔的值)的格式提供股票報價的免費服務(wù),將其包含在我們的web 服務(wù)中。

  注意:這個報價服務(wù)例程的運行大約延遲15分鐘,只用于教學(xué)目的。

  建立Web服務(wù)

  下面將采用逐步講解代碼的形式來幫助你理解在.NET 中Web服務(wù)的編程模式。我們可以使用notepad等任何文本編輯器來編寫 這里的Web服務(wù)例程代碼,最后將文件存儲為StockQuote.asmx。請注意:所有的Web服務(wù)文件保存時都使用擴展名 *.asmx。

  <%@ WebService Language="C#" class="DailyStock" %>

代碼的第一行定義了一個 Web 服務(wù),使用的語言是C#。class屬性用來指示W(wǎng)eb服務(wù)應(yīng)該調(diào)用和使用的類。如果在Web服務(wù)中使用了許多類,那么就應(yīng)該用這個屬性來表明Web服務(wù)應(yīng)該首先調(diào)用的類。

  using System ;
  using System.Web.Services ;
  using System.Net ;
  using System.IO ;
  using System.Text ;

以上代碼負(fù)責(zé)引入必要的名稱空間。 請記住永遠(yuǎn)都要引入System.Web.Services這個名稱空間 。根據(jù)類的需要,再引入保留的名稱空間。

  public class DailyStock : WebService
   {
    ......
    ....
   }

這里我們將公共類定義為 DailyStock,它擴展了 System.Web.Services.WebService 類。所有想暴露為 Web服務(wù)的類都應(yīng)該擴展System.Web.Services.WebServices類。 另外,Web 服務(wù)的存取修飾語永遠(yuǎn)都是public。

  [WebMethod]
   public string GetQuote(string symbol)
   {
    ........
    ........
   }

以上我們定義了一個公共Web方法 GetQuote。同類的定義一樣,Web 方法也都要用 public這個修飾語來聲明。 [WebMethod] 屬性呈現(xiàn)出將要被用在Web服務(wù)中的一些潛在方法,希望客戶存取的所有方法都應(yīng)該用[WebMethod] 屬性進(jìn)行標(biāo)記。GetQuote方法接受一個字符串輸入?yún)?shù),它包含了使用者所需要的報價符號。這個方法返回一個字符串,其中包含股票報價或錯誤信息。

  string ret;
   try
    {
     // The Path to the Yahoo Quotes Service
     string fullpath = @"http://quote.yahoo.com/d/quotes.csv?s="+symbol+"&f=sl1d1t1c1ohgvj1pp2owern&e=.csv";

     // Create a HttpWebRequest object on the Yahoo url

     HttpWebRequest webreq = (HttpWebRequest)WebRequestFactory.Create(fullpath);

     // Get a HttpWebResponse object from the Yahoo url

     HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();

     // Create a StreamReader object and pass the Yahoo Server stream as a parameter

     StreamReader strm = new StreamReader(webresp.GetResponseStream(), Encoding.ASCII);

     // Read a single line from the stream (from the server)
     // We read only a single line, since the Yahoo server returns all the
     // information needed by us in just one line.

     ret= strm.ReadLine();

     // Close the stream to the server and free the resources.

     strm.Close();

    }

   catch(Exception)

   {

    // If exception occurred inform the user

    ret="Exception Occurred" ;

   }

   file://Return the Quote or Exception

   return ret ;

  以上是GetQuote 方法的內(nèi)容。這里使用一個 try-catch模塊來截獲從Yahoo中得到股票報價的過程中可能發(fā)生的錯誤。在 try-catch模塊內(nèi)部聲明了一個字符串變量,這個變量中保存著獲取yahoo服務(wù)的完整路徑,用戶提供的symbol字符串變量被加到這個連接字符串上。

  路徑建立好之后,就要從連接字符串中構(gòu)造一個 HttpWebRequest對象和一個 HttpWebResponse 對象。接著,用StreamReader打開一個到Y(jié)ahoo服務(wù)器的流。StreamReader 從服務(wù)器中讀取一行, Yahoo提供給我們所需要的信息都是一行一行的。最后,流被關(guān)閉,Yahoo的輸出信息返回給用戶。


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 宜都市| 平乐县| 五大连池市| 平定县| 日照市| 健康| 乌鲁木齐市| 家居| 富宁县| 阳谷县| 泉州市| 绩溪县| 易门县| 潍坊市| 安图县| 西和县| 新密市| 滦南县| 修水县| 陵川县| 从化市| 皋兰县| 平和县| 隆昌县| 台州市| 平顶山市| 五台县| 和林格尔县| 涟源市| 江津市| 化州市| 永城市| 龙南县| 常山县| 龙胜| 黄陵县| 合川市| 永泰县| 甘德县| 天峨县| 遂平县|