WebService介绍(一):创建WebService

 
WebService 介绍 ( ) :创建 WebService
在本专题中,我将利用一个实例来讲述 WenService
这个实例是这样的:
某通讯运营商 A 目前的缴费系统没有网上自助缴费的功能,而客户现在对自助缴费的需求很大,希望该通讯运营商能够提供在网上利用银行 B 的信用卡缴费的功能。
如何实现呢?
通讯运营商 A 的系统开发人员在和银行 B 业务人员沟通后,发现如果要从银行帐户(信用卡)中缴费,必须提供帐户 ID ,密码,以及缴费金额,这样才能合法的从帐户中扣款。当然,从银行帐户中扣款后,通讯运营商业必须在相应得帐户中加上相同的缴费金额。
银行 B 的数据库与通讯运营商 A 的数据库并不再一个域中,为了能够满足客户的需求,通讯运营商 A 和银行 B 经过讨论,决定利用 WebService 实现这一功能。由通讯运营商 A 的开发人员给银行 B 开发 WebService 并提供给通讯运营商 A (当然,通讯运营商也许要收取一定的费用,除非该 WebService 只提供给自己使用)。
好了,在这个实例中,我假设银行 B 的帐户信息的数据在银行的 Bank 库的 Account 表中,这个表的结构如下:
在这里,我用的 SQL Server 2005 AccoutID 为帐户的 ID 号, Password 为帐户的密码, Money 为帐户中的金额。通讯运营商中的帐户信息的数据在 Mobile 库中的 PhoneInfo 表中,该表结构如下:
其中 PhoneNumber 字段存的是帐户号(手机号), PhoneMoney 存的是帐户金额。
当然以上的这些只是简单的模拟,实际的商业应用会比这复杂得多。
下面创建 Web 服务。
VS 2005.net 中,新建一个 Web 服务站点,名称为 BankService ,并在该站点中添加一个 Account Web 服务。 Account 服务代码如下:
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
 
 
/// <summary>
/// Account 的摘要说明
/// </summary>
[WebService(Namespace = "http://Bank.WebService/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Account : System.Web.Services.WebService {
 
    public Account () {
 
        // 如果使用设计的组件,请取消注释以下行
        //InitializeComponent();
    }
 
    [WebMethod]
    public bool Deduct(string AccountID,string Password,int deductMoney)
    {
        SqlConnection SqlConn = new SqlConnection();
        SqlConn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["BankConnectionString"].ToString();
        SqlConn.Open();
        string commandText = "Select Money from Account where AccountID=" + AccountID + "and Password=" + Password;
        SqlCommand SqlComm = new SqlCommand(commandText, SqlConn);
        int deductMoney = int.Parse(SqlComm.ExecuteScalar().ToString());
        if (SqlComm.ExecuteNonQuery()!=0)
        {
            Money = Money - deductMoney;
            SqlComm.CommandText = "update Account set Money="+Money+" where AccountID="+AccountID;
            SqlComm.ExecuteNonQuery();
            SqlConn.Close();
            return true;
 
        }
        else
        {
            SqlConn.Close();
            return false;
        }
    }
   
}
这个代码是很容易看懂的,主要就是根据提供的帐户ID ,密码和缴费金额扣款,如扣款成功则返回true,不成功返回false。
现在,我们可以测试一下这个Web服务。在该表中,目前有一行数据。
在浏览器中运行该Web服务,效果如下:
点击Deduct方法,在AccountID中输入1101,在Password 中输入123456,在deductMoney中输入12,然后调用,在看看Account表中的数据,是不是Money减少了?
    好了,到此为止,你已经知道WebService该怎么创建了。在后面的文章中,我还会继续就这个实例来讲述如何发现WebService以及怎样创建WebService代理类。请在这里下载源代码:
 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值