asp.net—web server模拟网上购物
在学vb的时候学到了api函数,今天学习asp.net中的web server,web server和api函数一样都是为用户提供了一个接口,客户端可以在远程直接调用,不需要知道它具体的算法,难易程度,可以直接使用方法。
一.基础 概念:1.web服务是应用程序
2.它向外界暴露了一个能够通过web进行调用的api
3.能够用编程的方法,通过web来调用这个应用程序
4.把调用这个web服务应用程序叫做客户。
运行流程
1.目录:web service提供了一个用以定位其他单位提供的web service的中心位置。其中,uddivc3Ryb25nPr7Nysd3ZWIgc2VydmljZcS/wryho1V1ZGnNqMvX0ru148u1vs3Kx72owaJ3ZWIgc2VydmljZcqxyrnTw9eisuG1vXV1ZGmho8jnufvKudPDt/7O8aOsvs3AtL+0dXVkaaGjPC9wPgo8L2Jsb2NrcXVvdGU+CjxibG9ja3F1b3RlPgo8cD48L3A+CjxwPjIut6LP1qO6yrnTw3dzZGy21MzYtqi1xHdlYiBzZXJ2aWNlvfjQ0MPoyvajrNK7sOO2vMrHeG1szsS1taGjxuTW0KOsPHN0cm9uZz53c2RsPC9zdHJvbmc+08PT2sPoyvZXZWJTZXJ2aWNlvLDG5Lqvyv2horLOyv26zbe1u9gmIzIwNTQwO6Gjv8nS1NPDwLTP8tPDu6e96cncV2ViIHNlcnZpY2W1xLmmxNyjrMO/uPa6r8r9tffTw8qxtcSyzsr9oaM8L3A+CjwvYmxvY2txdW90ZT4KPGJsb2NrcXVvdGU+CjxwPjwvcD4KPHA+My7Bqs340M7KvaO6yrnTw7+qt8XKvcGqzfjQzsq9vfjQ0M2o0bajrNb30qrKudPDc29wYc2o0bbQrdLpoaM8L3A+CjwvYmxvY2txdW90ZT4KPHA+PC9wPgo8aDI+zNi146O6PC9oMj4KPHA+PC9wPgo8YmxvY2txdW90ZT4KPHA+PC9wPgo8cD4xLs2ouf13ZWK9+NDQt8POyqGjPC9wPgo8L2Jsb2NrcXVvdGU+CjxibG9ja3F1b3RlPgo8cD48L3A+CjxwPjIuyrnTw73Tv9q9+NDQtffTwzwvcD4KPC9ibG9ja3F1b3RlPgo8YmxvY2txdW90ZT4KPHA+PC9wPgo8cD4zLtTat/7O8deisuGx7dbQ16Ky4TwvcD4KPC9ibG9ja3F1b3RlPgo8YmxvY2txdW90ZT4KPHA+PC9wPgo8cD40Lsq508Ox6te8d2Vi0K3S6c2o0MU8L3A+CjwvYmxvY2txdW90ZT4KPGJsb2NrcXVvdGU+CjxwPjwvcD4KPHA+NS7Lycmi8e66zzwvcD4KPC9ibG9ja3F1b3RlPgo8cD48L3A+CjxoMT4gtv4uxKPE4tL40NDXqtXLtcTKtcD9PC9oMT4KPGgyPtDox/M8L2gyPgo8cD48L3A+CjxwPiAgICB3ZWIgc2VydmVyzOG5qcHLv8nS1Mq5wvK80ri2v+64+ML0vNK1xLe9t6i3vbeous278cihyczGt8HQse21xLe9t6iju7/Nu6e2y7X308PV4rj2wb249re9t6ijrL/Nu6e2y9Gh1tC5usLytcTJzMa3uvOjrLWlu/ehrrm6wvKhr7C0xaW+zb/J0tTC8rzSuLa/7rj4wvS80qOssqLP1Mq+wvK80s/7t9G98LbuoaM8L3A+CjxoMj60+sLryrXP1jwvaDI+CjxoMz4gICAgMS53ZWIgc2VydmljZbT6wus8L2gzPgo8cHJlIGNsYXNzPQ=="brush:java;"> public class serviceShopping : System.Web.Services.WebService
{
[WebMethod]
//获取商品
public DataSet getGoods()
{
SqlConnection con = new SqlConnection("server=.;database=shop;uid=sa;pwd=123456;");
con.Open();
SqlDataAdapter adr = new SqlDataAdapter();
adr.SelectCommand = new SqlCommand("select * from goods", con);
DataSet ds = new DataSet();
adr.Fill(ds, "goods");
con.Close();
return ds;
}
[WebMethod]
//购物
public string shopping(int sum)
{
try
{
//买家买东西
this.buy(sum);
//卖家卖东西
this.sell(sum);
return "交易成功,消费:"+sum;
}
catch
{
return "交易失败";
}
}
//买家买东西
private void buy(int sum)
{
SqlConnection con = new SqlConnection("server=.;database=shop;uid=sa;pwd=123456;");
con.Open();
SqlCommand cmd = new SqlCommand("update buy set money=money-" + sum.ToString() + " where buyer='A'", con);
cmd.ExecuteNonQuery();
con.Close();
}
//卖家卖东西
private void sell(int sum)
{
SqlConnection con = new SqlConnection("server=.;database=shop;uid=sa;pwd=123456;");
con.Open();
SqlCommand cmd = new SqlCommand("update sell set money=money+" + sum.ToString() + " where seller='B'", con);
cmd.ExecuteNonQuery();
con.Close();
}
}
2.客户端中引用web service的步骤
备注:地址是运行web service后地址栏中地址。
3.客户端代码
客户端html代码
客户端后台代码
public partial class UseServerShopping : System.Web.UI.Page { //绑定商品列表 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { myserviceShopping.serviceShoppingSoapClient getGoodslist = new myserviceShopping.serviceShoppingSoapClient(); this.CheckBoxList1.DataSource = getGoodslist.getGoods(); //绑定商品列表 this.CheckBoxList1.DataTextField = "goodsname"; this.CheckBoxList1.DataValueField = "cost"; this.CheckBoxList1.DataBind(); } } //购买商品 protected void Button1_Click(object sender, EventArgs e) { //商品价格 int totalCost=0; //计算商品总共价格 for (int i = 0; i源码地址 里面有具体的源码:https://download.csdn.net/detail/suneqing/7313033 三.总结 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。
上一篇: javascript 学习笔记(八)javascript对象
下一篇: php格式化时间戳的方法技巧