编写一个简单的Web Service
2008-03-19 12:22
步骤:
一、新建一个ASP.Net Web Application工程 二、向工程添加’web 服务‘页 三、app_code目录下Service.cs: using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Data; using System.Data.SqlClient; using System.ComponentModel; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class WebService1 : System.Web.Services.WebService { public WebService1() { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string HelloWorld() { return "Hello World"; } #region Component Designer generated code //Required by the Web Services Designer private IContainer components = null; /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose(bool disposing) { if (disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion // 连接字符串常量 const string szConn = "server=172.16.0.20;Database=JYTraceAbility;Uid=Traceuser;Pwd=Traceuser1!"; [WebMethod] public String About() { return "这是一个C#编写的Web Service演示程序!"; } // 返回其中一个WebServiceDemo表 [WebMethod] public DataSet GetServiceDemoTable() { DataSet sqlDs = new DataSet(); DataAccess dataAcc = new DataAccess(szConn); string szSql = "Select * From Tbl_User"; sqlDs = dataAcc.GetDataset(szSql, "Tbl_User"); return sqlDs; } // 返回由用户指定的查询 [WebMethod] public DataSet GetByUser(string szCommandText) { DataSet sqlDs = new DataSet(); DataAccess dataAcc = new DataAccess(szConn); sqlDs = dataAcc.GetDataset(szCommandText); return sqlDs; } } public class DataAccess { // 连接字符串成员变量 private string m_szConn = ""; private SqlConnection m_sqlConn; private SqlDataAdapter m_sqlDa; // 构造函数 public DataAccess(string szConnectionString) { m_szConn = szConnectionString; } // 返回一个记录集 public DataSet GetDataset(string szCommandText) { DataSet sqlDs; try { m_sqlConn = new SqlConnection(m_szConn); m_sqlConn.Open(); m_sqlDa = new SqlDataAdapter(szCommandText, m_sqlConn); sqlDs = new DataSet(); m_sqlDa.Fill(sqlDs); m_sqlConn.Close(); return sqlDs; } catch { return null; } } // 重载上述方法 public DataSet GetDataset(string szCommandText, string szTableName) { DataSet sqlDs; try { m_sqlConn = new SqlConnection(m_szConn); m_sqlConn.Open(); m_sqlDa = new SqlDataAdapter(szCommandText, m_sqlConn); sqlDs = new DataSet(); m_sqlDa.Fill(sqlDs, szTableName); m_sqlConn.Close(); return sqlDs; } catch { return null; } } } 到此一个WEB服务就完成了,点击运行WebService.asmx: 方法名称-->调用 四、、引用先前写的Web Service程序,菜单步骤如下project->add web reference...,然后输入我们Web Service的路径 五、编写测试代码 protected void Button1_Click(object sender, EventArgs e) { DataSet ds = new DataSet(); WebService1 oService = new WebService1(); // 返回记录集 ds = oService.GetServiceDemoTable(); if (ds != null) { // 显示记录集的记录 GridView1.DataSource = ds.Tables["Tbl_User"]; GridView1.DataBind(); } else { this.Response.Write("加载数据错误!"); } Button1.Text = oService.About(); } OK,最后就是运行了 |