转载的web server实例
- 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的中心位置。其中,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.web service代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051publicclassserviceShopping : System.Web.Services.WebService{[WebMethod]//获取商品publicDataSet getGoods(){SqlConnection con =newSqlConnection("server=.;database=shop;uid=sa;pwd=123456;");con.Open();SqlDataAdapter adr =newSqlDataAdapter();adr.SelectCommand =newSqlCommand("select * from goods", con);DataSet ds =newDataSet();adr.Fill(ds,"goods");con.Close();returnds;}[WebMethod]//购物publicstring shopping(intsum){try{//买家买东西this.buy(sum);//卖家卖东西this.sell(sum);return"交易成功,消费:"+sum;}catch{return"交易失败";}}//买家买东西privatevoidbuy(intsum){SqlConnection con =newSqlConnection("server=.;database=shop;uid=sa;pwd=123456;");con.Open();SqlCommand cmd =newSqlCommand("update buy set money=money-"+ sum.ToString() +" where buyer='A'", con);cmd.ExecuteNonQuery();con.Close();}//卖家卖东西privatevoidsell(intsum){SqlConnection con =newSqlConnection("server=.;database=shop;uid=sa;pwd=123456;");con.Open();SqlCommand cmd =newSqlCommand("update sell set money=money+"+ sum.ToString() +" where seller='B'", con);cmd.ExecuteNonQuery();con.Close();}}2.客户端中引用web service的步骤

备注:地址是运行web service后地址栏中地址。3.客户端代码
客户端html代码
1234567891011<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>客户端后台代码
1234567891011121314151617181920212223242526272829303132publicpartialclassUseServerShopping : System.Web.UI.Page{//绑定商品列表protectedvoidPage_Load(object sender, EventArgs e){if(!IsPostBack){myserviceShopping.serviceShoppingSoapClient getGoodslist =newmyserviceShopping.serviceShoppingSoapClient();this.CheckBoxList1.DataSource = getGoodslist.getGoods();//绑定商品列表this.CheckBoxList1.DataTextField ="goodsname";this.CheckBoxList1.DataValueField ="cost";this.CheckBoxList1.DataBind();}}//购买商品protectedvoidButton1_Click(object sender, EventArgs e){//商品价格inttotalCost=0;//计算商品总共价格for(inti =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 =newmyserviceShopping.serviceShoppingSoapClient();buyGoods.shopping(totalCost);//调用服务中使买家付款给卖家Response.Write(buyGoods.shopping(totalCost));}}源码地址
里面有具体的源码:http://download.csdn.net/detail/suneqing/7313033
三.总结
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。
转载的web server实例的更多相关文章
- PHP Web Server 实例
通过WebService,我们可以调用部署在其它地方的程序,而不用关心被调用的程序是在什么平台用什么语言编写的.这里我们使用php调用. 在php4时代调用WebService大部分使用的nusoap ...
- 【实例图文详解】OAuth 2.0 for Web Server Applications
原文链接:http://blog.csdn.net/hjun01/article/details/42032841 OAuth 2.0 for Web Server Applicatio ...
- 【转载】springboot启动报错(Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWe)
SpringBoot启动时的异常信息如下: 1 "C:\Program Files\Java\jdk1.8.0_161\bin\java" ......... com.fangxi ...
- Tomcat是怎么工作的(2) -- 动手实现山寨版的简单Web Server
本文先讲解一下Java web server都是怎么工作的.web server也叫HTTP server——顾名思义它是用HTTP协议和客户端交互的.客户端一般就是各种各样的浏览器了.相信所有朋友都 ...
- Atitit。Web server Jetty9 使用 attilax 总结
Atitit.Web server Jetty9 使用 attilax 总结 1.1. 静态文件的资源1 1.2. Servlet使用1 1.3. code1 1.1. 静态文件的资源 WebAppC ...
- Server Develop (九) Simple Web Server
Simple Web Server web服务器hello world!-----简单的socket通信实现. HTTP HTTP是Web浏览器与Web服务器之间通信的标准协议,HTTP指明了客户端如 ...
- Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目
Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目 1. Resin4.0.22 1 2. 查看http连接数::Summary>& ...
- 利用PowerUpSQL攻击SQL Server实例
这篇博客简述如何快速识别被第三方应用使用的SQL Server实例,该第三方软件用PowerUpSQL配置默认用户/密码配置.虽然我曾经多次提到过这一话题,但是我认为值得为这一主题写一篇简短的博客,帮 ...
- 【转载】Windows Server 2012服务器删除IIS方法
在Windows Server2012版本的服务器系统中,我们可以通过服务器管理器中的"添加角色和功能"来添加IIS的Web服务器,当我们不再使用IIS功能时候,我们也可以通过删除 ...
随机推荐
- 【Java】设计模型-五种单例模型
一. 什么是单例模式 只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计. 单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在. 单例模式有很多好处,它能够 ...
- python用matplotlib画折线图
折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...
- sublime Text3基本配置记录+python
环境:ubuntu 内容:基本配置+python开发实用插件 一. 激活 注册码 Michael Barnes Single User License EA7E- 8A353C41 872A0D5C ...
- halcon 动态阈值分割之偏移值
- ASP.NET Web Forms - 网站导航(Sitemap 文件)
[参考]ASP.NET Web Forms - 导航 ASP.NET 带有内建的导航控件. 网站导航 维护大型网站的菜单是困难而且费时的. 在 ASP.NET 中,菜单可存储在文件中,这样易于维护.文 ...
- swoole 基础知识
$host = 127.0.0.1 监听本地ip $host = 255.3.258.139 监听外网的某个ip $host= 0.0.0.0 监听所有ip $ws = new swoole_we ...
- IDEA阅读spring源码并调试
目标:搭建起Spring源码阅读和代码调试跟踪的环境,顺便建立一个简单的Demo,能够调试Spring的源代码 本节,主要介绍一下Spring源码阅读和调试的相关环境搭建,并使用MVN创建一个非常简单 ...
- rabbitmq消费端加入精确控频。
控制频率之前用的是线程池的数量来控制,很难控制.因为做一键事情,做一万次,并不是每次消耗的时间都相同,所以很难推测出到底多少线程并发才刚好不超过指定的频率. 现在在框架中加入控频功能,即使开200线程 ...
- redis在php中的基本使用
//使用autoload加载相关库,这边重点就是为了require $file; spl_autoload_register(function($class) { $file = __DIR__.’/ ...
- Jquery EasyUI Combotree和 EasyUI tree展开所有父节点和获取完整路径
Jquery EasyUI Combotree展开所有父节点 Jquery EasyUI Combotree获取树完整路径 Jquery EasyUI tree展开所有父节点 Jquery EasyU ...
我要投稿