利用WebService制作股票报价1_.NET教程_编程技术_ASP.NET_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • ASP.NET

    当前位置:主页 > 网络编程 > ASP.NET >

    利用WebService制作股票报价1_.NET教程_编程技术

    时间:2019-07-10|栏目:ASP.NET|点击:
  • Web Services,即Web服务,是微软.NET战略中非常重要的一个概念。它的目的是将Web站点转变为集组织、应用、服务以及设备于一体的可设计Web站点,使Web站点不再处于被动的地位。

      本文将介绍如何建立和使用一个在.NET 平台上提供股票报价的Web服务。我们将使用Yahoo的一项以CSV(以逗号分隔的值)的格式提供股票报价的免费服务,将其包含在我们的web 服务中。

      注意:这个报价服务例程的运行大约延迟15分钟,只用于教学目的。

      建立Web服务

      下面将采用逐步讲解代码的形式来帮助你理解在.NET 中Web服务的编程模式。我们可以使用notepad等任何文本编辑器来编写 这里的Web服务例程代码,最后将文件存储为StockQuote.asmx。请注意:所有的Web服务文件保存时都使用扩展名 *.asmx。

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

    代码的第一行定义了一个 Web 服务,使用的语言是C#。class属性用来指示Web服务应该调用和使用的类。如果在Web服务中使用了许多类,那么就应该用这个属性来表明Web服务应该首先调用的类。

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

    以上代码负责引入必要的名称空间。 请记住永远都要引入System.Web.Services这个名称空间 。根据类的需要,再引入保留的名称空间。

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

    这里我们将公共类定义为 DailyStock,它扩展了 System.Web.Services.WebService 类。所有想暴露为 Web服务的类都应该扩展System.Web.Services.WebServices类。 另外,Web 服务的存取修饰语永远都是public。

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

    以上我们定义了一个公共Web方法 GetQuote。同类的定义一样,Web 方法也都要用 public这个修饰语来声明。 [WebMethod] 属性呈现出将要被用在Web服务中的一些潜在方法,希望客户存取的所有方法都应该用[WebMethod] 属性进行标记。GetQuote方法接受一个字符串输入参数,它包含了使用者所需要的报价符号。这个方法返回一个字符串,其中包含股票报价或错误信息。

      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 方法的内容。这里使用一个 try-catch模块来截获从Yahoo中得到股票报价的过程中可能发生的错误。在 try-catch模块内部声明了一个字符串变量,这个变量中保存着获取yahoo服务的完整路径,用户提供的symbol字符串变量被加到这个连接字符串上。
    路径建立好之后,就要从连接字符串中构造一个 HttpWebRequest对象和一个 HttpWebResponse 对象。接着,用StreamReader打开一个到Yahoo服务器的流。StreamReader 从服务器中读取一行, Yahoo提供给我们所需要的信息都是一行一行的。最后,流被关闭,Yahoo的输出信息返回给用户。



    上一篇:利用WebService制作股票报价4_.NET教程_编程技术

    栏    目:ASP.NET

    下一篇:ASP.NET XML的网络硬盘_.NET教程_编程技术

    本文标题:利用WebService制作股票报价1_.NET教程_编程技术

    本文地址:http://www.jh-floor.com/wangluobiancheng/ASP_NET/2188.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号