分布式技术 webservice
web service 是一个平台独立的、低耦合的、自包含的、基于编程的web的应用程序,可使用开发的XML(标准通用标记语言下的一个字表)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
web service技术能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件就可互相交换数据或集成。依据webservice规范实施应用之间,无论他们所使用的语言,平台或内部协议是什么,都可以互相交换数据。webservice是自描述、自包含的可用网络模块、可执行具体业务功能。webservice也容易部署,因为他们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML/HTTP.webservice减少了应用接口的花费,webservice为整个企业甚至多个组织之间的业务流程集成提供了一个通用机制。
1.创建一个webservice并调用
(1)打开vs2013,新建空项目webappservice,注意选择.NET Framework 的版本,这里选择.NET Framework4.5.

(2)右击项目webappservice,选择“添加新项 -> web -> web 服务”,命名“mywebservice.asmx”.


(3)在mywebservice1 类中默认会添加一个 Hello World 方法,我加一个方法。
/// <summary>
/// 姓名+年龄
/// </summary>
/// <param name="name"></param>
/// <param name="age"></param>
/// <returns></returns>
[WebMethod]
public string people(string name, string age)
{
return "姓名:" + name + "年龄:" + age;
}
(4)直接在浏览器中浏览MyWebService1.asmx
(5)单机这个方法people,如下图


(6)直接调用,效果如图。

返回是一个XML文件,在项目开发中,我们一般不这样的调用,而是通过添加web引用的方式。
所以,在需要引用webservice的时候,需要将此服务运行起来。右击,“在浏览器中查看”,当然这web服务就在IIS Express里面了。
(7)右击项目webappService,选择“添加->新建项->web窗体”,命名WebForm1.aspx,并在里面添加内容:
<div>
<table>
<tr>
<td>姓名</td>
<td>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>年龄</td>
<td>
<asp:TextBox ID="txtAge" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td></td>
<td>
<asp:Button ID="btnAction" runat="server" Text="执行" />
</td>
</tr>
<tr>
<td>结果</td>
<td> <asp:TextBox ID="txtResult" runat="server"></asp:TextBox></td> </tr>
</table>
</div>
</form>
(8)在项目右击"添加服务引用",点击“发现”

当然,如果我们把web服务部署到IIS上,也可以直接在地址栏中输入web服务地址,然后单击“转到”按钮。
(9)webForm1后台代码:
/// <summary>
/// 执行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAction_Click(object sender, EventArgs e)
{
ServiceReference1.MyWebService1SoapClient _client = new ServiceReference1.MyWebService1SoapClient();
txtResult.Text = _client.people(txtName.Text.Trim(), txtAge.Text.Trim());
}
(10)右击webForm1.aspx,在;浏览器中查看,运行结果如图,(注:不要关闭在浏览器中打开的http://localhost:50785/MyWebService1.asmx)

为了方便,这里直接在项目中运行MyWebService1.asmx此服务。一般在项目中,我们会把所有的web服务单独放到一个web站点,然后发布到服务器IIS上面。
分布式技术 webservice的更多相关文章
- 现有分布式技术(socket、.net remoting、asp.net webservice、WSE、ES)和wcf的比较及优势
1:socket VS remoting 使用socket无疑是效率最高的.但是,在复杂的接口环境下,socket的开发效率也是最低的.故在兼顾开发效率的情况下,可以使用remoting来代替sock ...
- .Net 分布式技术比较
内容转自于 http://www.mamicode.com/info-detail-585547.html .NET 分布式技术比较 1. MSMQ(Microsoft Message Queue) ...
- C#远程调用技术WebService修炼手册
一.课程介绍 一位伟大的讲师曾经说过一句话:事物存在即合理!意思就是说:任何存在的事物都有其存在的原因,存在的一切事物都可以找到其存在的理由,我们应当把焦点放在因果关联的本质上.所以在本次分享课开课之 ...
- Zookeeper系列二:分布式架构详解、分布式技术详解、分布式事务
一.分布式架构详解 1.分布式发展历程 1.1 单点集中式 特点:App.DB.FileServer都部署在一台机器上.并且访问请求量较少 1.2 应用服务和数据服务拆分 特点:App.DB.Fi ...
- C#远程调用技术WebService葵花宝典
一.课程介绍 直接开门见山吧,在学习之前阿笨想问大家一句,关于WebService远程过程调用技术(RPC) 你真的会了吗?不要跟老夫扯什么WebService技术已经过时,如果你的内心有在偷偷告诉你 ...
- 搞懂分布式技术21:浅谈分布式消息技术 Kafka
搞懂分布式技术21:浅谈分布式消息技术 Kafka 浅谈分布式消息技术 Kafka 本文主要介绍了这几部分内容: 1基本介绍和架构概览 2kafka事务传输的特点 3kafka的消息存储格式:topi ...
- 搞懂分布式技术28:微服务(Microservice)那点事
搞懂分布式技术28:微服务(Microservice)那点事 微服务(Microservice)那点事 肥侠 2016-01-13 09:46:53 浏览58371 评论15 分布式系统与计算 微服务 ...
- 搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务
搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务 初步认识RocketMQ的核心模块 rocketmq模块 rocketmq-broker:接受生产者发来的消息并存储(通过调用rocke ...
- 搞懂分布式技术11:分布式session解决方案与一致性hash
搞懂分布式技术11:分布式session解决方案与一致性hash session一致性架构设计实践 原创: 58沈剑 架构师之路 2017-05-18 一.缘起 什么是session? 服务器为每个用 ...
随机推荐
- 构造三层时报错“程序 “D:\MyTest\....”不包含适合于入口点的静态"Main"方法”
错误 1 程序“D:\MyTest\EBookShop\Model\obj\x86\Debug\Model.exe”不包含适合于入口点的静态“Main”方法 原因:原来创建项目的时候,用的是“空项目” ...
- jqgrid动态添加rowlist
function changePager(){ var pagerCenter =$('#grid-pager_center');//获取td pagerCenter.find('se ...
- SSL证书的生成
openssl工具下载路径:链接:https://pan.baidu.com/s/1o0-s8OplHZt55Cio2HmjVA 密码:u759 1.使用openssl工具生成一个RSA秘钥 ...
- ID生成策略
在电商项目中,图片名.商品ID都要唯一且方便存储,于是记录下这两个ID生成策略的方法,以便日后项目再有需要.具体代码如下 import java.util.Random; /** * 图片名生成 */ ...
- shell中${}的使用
1. 截断功能${file#*/}: 拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}: 拿掉最后一条/及其左边的字符串:my ...
- urlencode rawurlencode htmlspecialchars htmlentities
w string urlencode ( string $str ) 返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+).此 ...
- <2013 08 27> 雅思阅读相关
1.雅思阅读的总体难度不大,但是时间较紧,三段较长的阅读材料和40个题目,总耗时60min.基本上前两个材料可以花15~20min,最后一个材料至少花20min完成. 2.阅读的技巧在于三点:其一,先 ...
- python Flask框架CBV视图
1.演示之前需要先写一个装饰器 # 装饰器 def wrapper(func): def inner(*args, **kwargs): print('操作函数%s之前' % func.__name_ ...
- HAProxy安装及简单配置
一.HAProxy简介 代理的作用:web缓存(加速).反向代理.内容路由(根据流量及内容类型等将请求转发至特定服务器).转码器(将后端服务器的内容压缩后传输给client端).缓存的作用:减少冗余内 ...
- iOS开发之计算器
本项目基于swift3.0的语法. // // ViewController.swift // 加法计算器 // // Created by 葛杨杨 on 2017/7/25. // Copyrigh ...