在.NET中使用Web服务

来源:互联网 发布:java培训机构包装简历 编辑:程序博客网 时间:2024/05/23 15:41
 最近发现在.NET平台下使用Web服务还是很简单的。
下面举个在.NET平台下创建Web服务的简单例子。首先用Visul Studio .Net创建一个C# 项目Asp.Net Web服务程序,源代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Web;
using System.Web.Services;

namespace author
{
     /// <summary>
     /// Service1 的摘要说明。
     /// </summary>
     public class Service1 : System.Web.Services.WebService
    {
         public Service1()
        {
              //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
              InitializeComponent();
        }

       #region 组件设计器生成的代码
  
      //Web 服务设计器所必需的
      private IContainer components = null;
    
      /// <summary>
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      /// </summary>
      private void InitializeComponent()
     {
     }

     /// <summary>
     /// 清理所有正在使用的资源。
     /// </summary>
     protected override void Dispose( bool disposing )
    {
           if(disposing && components != null)
          {
                components.Dispose();
          }
          base.Dispose(disposing);  
    }
  
    #endregion

    // WEB 服务示例
    // HelloWorld() 示例服务返回字符串 Hello World
    // 若要生成,请取消注释下列行,然后保存并生成项目
    // 若要测试此 Web 服务,请按 F5 键

   // [WebMethod]
   // public string HelloWorld()
   //{
   //      return "Hello World";
   //}

   }
}
这些代码都是系统自动生成的,从这里可以看到,普通的方法添加了WebMethod属性后就成了Web方法了。下面给这段代码添加一个访问SQL Server数据库的方法,代码如下:
 [WebMethod]
  public DataSet DataVisit(string id)
  {
   string mySelectQuery = "Select au_id, au_fname, au_lname From authors where au_id != '"+id+"'";
   string myConn = @"server=localhost; uid=sa; database=pubs";
   SqlConnection myConnection = new SqlConnection(myConn);
   SqlCommand myCmd = new SqlCommand(mySelectQuery, myConnection);
   myConnection.Open();
   SqlDataAdapter adapter = new SqlDataAdapter();
   adapter.SelectCommand = myCmd;

   DataSet myDs = new DataSet();
   adapter.Fill(myDs, "author_name");
   myConnection.Close();
   return myDs;
  }
这样就创建了一个Web服务了,在Web应用程序里就可以通过添加“Web引用”来使用这个服务了。
利用这个方法可以轻松地创建一个三层模式。