在学vb的时候学到了api函数,今天学习asp.net中的web server,web server和api函数一样都是为用户提供了一个接口,客户端可以在远程直接调用,不需要知道它具体的算法,难易程度,可以直接使用方法。
1.web服务是应用程序
2.它向外界暴露了一个能够通过web进行调用的api
3.能够用编程的方法,通过web来调用这个应用程序
4.把调用这个web服务应用程序叫做客户。
1.目录:web service提供了一个用以定位其他单位提供的web service的中心位置。其中,uddi就是web service目录。Uudi通俗一点说就是建立web service时使用注册到uudi。如果使用服务,就来看uudi。
2.发现:使用wsdl对特定的web service进行描述,一般都是xml文档。其中,wsdl用于描述WebService及其函数、参数和返回值。可以用来向用户介绍Web service的功能,每个函数调用时的参数。
3.联网形式:使用开放式联网形式进行通讯,主要使用sopa通讯协议。
1.通过web进行访问。
2.使用接口进行调用
3.在服务注册表中注册
4.使用标准web协议通信
5.松散耦合
web server提供了可以使买家付款给卖家的方法方法和获取商品列表的方法;客户端调用这个两个方法,客户端选中购买的商品后,单击‘购买’按钮就可以买家付款给卖家,并显示买家消费金额。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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(); } } |
1
2
3
4
5
6
7
8
9
10
11
|
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" > <title></title> <form id= "form1" runat= "server" > <div> </asp:checkboxlist> </asp:button></div> </form> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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 < CheckBoxList1.Items.Count; i++) //循环checjboxlist1的个数 { if (CheckBoxList1.Items[i].Selected == true ) //checjboxlist1被选中 { totalCost =totalCost+ Convert.ToInt32(CheckBoxList1.Items[i].Value); //计算商品总价格 } } myserviceShopping.serviceShoppingSoapClient buyGoods = new myserviceShopping.serviceShoppingSoapClient(); buyGoods.shopping(totalCost); //调用服务中使买家付款给卖家 Response.Write(buyGoods.shopping(totalCost)); } } |
里面有具体的源码:http://download.csdn.net/detail/suneqing/7313033
原文:http://www.cnblogs.com/tomahawk/p/4242261.html