转载的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代码
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051public
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代码
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>
客户端后台代码
1234567891011121314151617181920212223242526272829303132public
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
三.总结
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功能时候,我们也可以通过删除 ...
随机推荐
- Oracle中判断字段是否为数字
在我们平常的开发中可能会遇到这样的问题,就是判断某一列是否全部由数字组成,我们都知道oracle并没有给我们提供这样一个现成的函数,那么根据我的经验我总结了两个行之有效的方法(列名:column,表名 ...
- 科普知识普及 - 桥接VS中继
首先要说明一个很多人理解的误区,中继比桥接好用,真的是这么回事么? 答案是否定的. 我们在说桥接和中继的时候我们要先了解,桥接和中继的工作原理.还有一个问题,估计很多人都想不明白:为什么中继搜到的信号 ...
- 【Excel】读取CSV文本
Option Explicit ' CSV形式テキストファイル(5カラム)読み込みサンプル Sub READ_TextFile() Const cnsTITLE = "テキストファイル読み込 ...
- echarts网络拓扑图
option = { title: { text: '' }, tooltip: {}, animationDurationUpdate: 1500, animationEasingUpdate: ' ...
- Oracle误删除数据的恢复方法(转)
来源:原创网站北京北亚数据恢复中心,转载须注明出处. 学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失.当我在工作中真正遇到这些 ...
- ORACLE调优深入理解AWR报告(转)
AWR报告分析可从以下几点入手: (1).Oacle主机资源开销分析及负载情况 (2).oracle top信息分析 Top 10 Foreground Events by Total Wait Ti ...
- cc攻击和ddos攻击
DoS攻击.CC攻击的攻击方式和防御方法 DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即“分布式拒绝服务”,那么什么又是拒绝服务(Denial of ...
- 【CF446D】DZY Loves Games 高斯消元+矩阵乘法
[CF446D]DZY Loves Games 题意:一张n个点m条边的无向图,其中某些点是黑点,1号点一定不是黑点,n号点一定是黑点.问从1开始走,每次随机选择一个相邻的点走过去,经过恰好k个黑点到 ...
- git clean(转载)
git clean命令用来从你的工作目录中删除所有没有tracked过的文件. git clean经常和git reset --hard一起结合使用. 记住reset只影响被track过的文件, 所以 ...
- Win系统的快捷键
用了Macos觉得win系统不好用,其实不然,win也有很多方便的快捷键. win系统的快捷键: super/Alt+Tab键切换应用程序,而不是用鼠标点,切换多任务,super就是win win+D ...