WebService介绍(一):创建WebService
来源:互联网 发布:涉及大数据的上市公司 编辑:程序博客网 时间:2024/06/09 14:43
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代理类。请在这里下载源代码:
http://dl2.csdn.net/down4/20070802/02143919616.rar
- WebService介绍(一):创建WebService
- webservice系列(一) webservice基础介绍
- Webservice简单介绍(一)
- WebService (一) WebService概念
- WebService介绍
- Webservice介绍
- WebService介绍
- WebService介绍
- WebService介绍
- WebService 介绍
- webservice介绍
- WebService介绍
- WebService介绍
- WebService介绍
- WebService介绍
- WebService介绍
- Webservice介绍
- WebService介绍
- C#3.0 automatic properties
- Series 60 3rd上绘图时设置字体的大小
- 生命的价值
- Asp.Net常见问题及技术实现方案(一)
- 何去何从-------------大家给个建议吧
- WebService介绍(一):创建WebService
- 无题
- Open XML API 之 Hello World
- squid的文件描述符
- Linux攻略 DNS服务器安装配置方法详细介绍
- c#面试题
- 先装.net framework后装IIS 或者用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。
- CAN总线概况与原理(转)
- QQ密码输入框(防键盘钩子)的实现方式