最近发现在.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{/// /// Service1 的摘要说明。/// public class Service1 : System.Web.Services.WebService{public Service1(){//CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的InitializeComponent();}
#region 组件设计器生成的代码
//Web 服务设计器所必需的private IContainer components = null;
/// /// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。/// private void InitializeComponent(){}
/// /// 清理所有正在使用的资源。/// 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引用”来使用这个服务了。