编写一个简单的Web Service

 
编写一个简单的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,最后就是运行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值