<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      股票報價的WebService(轉天極網)之一

      [摘要]Web Services,即Web服務,是微軟.NET戰略中非常重要的一個概念。它的目的是將Web站點轉變為集組織、應用、服務以及設備于一體的可設計Web站點,使Web站點不再處于被動的地位。<...
      Web Services,即Web服務,是微軟.NET戰略中非常重要的一個概念。它的目的是將Web站點轉變為集組織、應用、服務以及設備于一體的可設計Web站點,使Web站點不再處于被動的地位。<br>
      <br>
        本文將介紹如何建立和使用一個在.NET 平臺上提供股票報價的Web服務。我們將使用Yahoo的一項以CSV(以逗號分隔的值)的格式提供股票報價的免費服務,將其包含在我們的web 服務中。<br>
      <br>
        注意:這個報價服務例程的運行大約延遲15分鐘,只用于教學目的。 <br>
      <br>
        建立Web服務<br>
      <br>
        下面將采用逐步講解代碼的形式來幫助你理解在.NET 中Web服務的編程模式。我們可以使用notepad等任何文本編輯器來編寫 這里的Web服務例程代碼,最后將文件存儲為StockQuote.asmx。請注意:所有的Web服務文件保存時都使用擴展名 *.asmx。<br>
      <br>
       。%@ WebService Language=&quot;C#&quot; class=&quot;DailyStock&quot; %><br>
      <br>
      代碼的第一行定義了一個 Web 服務,使用的語言是C#。class屬性用來指示Web服務應該調用和使用的類。如果在Web服務中使用了許多類,那么就應該用這個屬性來表明Web服務應該首先調用的類。<br>
      <br>
        using System ;<br>
        using System.Web.Services ;<br>
        using System.Net ;<br>
        using System.IO ;<br>
        using System.Text ;<br>
      <br>
      以上代碼負責引入必要的名稱空間。 請記住永遠都要引入System.Web.Services這個名稱空間 。根據類的需要,再引入保留的名稱空間。 <br>
      <br>
        public class DailyStock : WebService<br>
         {<br>
          ......<br>
          ....<br>
         }<br>
      <br>
      這里我們將公共類定義為 DailyStock,它擴展了 System.Web.Services.WebService 類。所有想暴露為 Web服務的類都應該擴展System.Web.Services.WebServices類。 另外,Web 服務的存取修飾語永遠都是public。<br>
      <br>
        [WebMethod]<br>
         public string GetQuote(string symbol)<br>
         {<br>
          ........<br>
          ........<br>
         }<br>
      <br>
      以上我們定義了一個公共Web方法 GetQuote。同類的定義一樣,Web 方法也都要用 public這個修飾語來聲明。 [WebMethod] 屬性呈現出將要被用在Web服務中的一些潛在方法,希望客戶存取的所有方法都應該用[WebMethod] 屬性進行標記。GetQuote方法接受一個字符串輸入參數,它包含了使用者所需要的報價符號。這個方法返回一個字符串,其中包含股票報價或錯誤信息。 <br>
      <br>
        string ret;<br>
         try<br>
          {<br>
           // The Path to the Yahoo Quotes Service<br>
           string fullpath = @&quot;http://quote.yahoo.com/d/quotes.csv?s=&quot;+symbol+&quot;&f=sl1d1t1c1ohgvj1pp2owern&e=.csv&quot;; <br>
      <br>
           // Create a HttpWebRequest object on the Yahoo url<br>
      <br>
           HttpWebRequest webreq = (HttpWebRequest)WebRequestFactory.Create(fullpath);<br>
      <br>
           // Get a HttpWebResponse object from the Yahoo url<br>
      <br>
           HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();<br>
      <br>
           // Create a StreamReader object and pass the Yahoo Server stream as a parameter<br>
      <br>
           StreamReader strm = new StreamReader(webresp.GetResponseStream(), Encoding.ASCII);<br>
      <br>
           // Read a single line from the stream (from the server) <br>
           // We read only a single line, since the Yahoo server returns all the<br>
           // information needed by us in just one line.<br>
      <br>
           ret= strm.ReadLine();<br>
      <br>
           // Close the stream to the server and free the resources.<br>
      <br>
           strm.Close();<br>
      <br>
          }<br>
      <br>
         catch(Exception)<br>
      <br>
         {<br>
      <br>
          // If exception occurred inform the user<br>
      <br>
          ret=&quot;Exception Occurred&quot; ;<br>
      <br>
         }<br>
      <br>
         file://Return the Quote or Exception<br>
      <br>
         return ret ;<br>
      <br>
        以上是GetQuote 方法的內容。這里使用一個 try-catch模塊來截獲從Yahoo中得到股票報價的過程中可能發生的錯誤。在 try-catch模塊內部聲明了一個字符串變量,這個變量中保存著獲取yahoo服務的完整路徑,用戶提供的symbol字符串變量被加到這個連接字符串上。<br>
      <br>
        路徑建立好之后,就要從連接字符串中構造一個 HttpWebRequest對象和一個 HttpWebResponse 對象。接著,用StreamReader打開一個到Yahoo服務器的流。StreamReader 從服務器中讀取一行, Yahoo提供給我們所需要的信息都是一行一行的。最后,流被關閉,Yahoo的輸出信息返回給用戶。&nbsp;


      日韩精品一区二区三区高清