WebService学习笔记
WebService有什么用?
入门之前先简单介绍下WCF。在用WebService做开发时,很多人都不知道WCF和WebService之间的关系。实际上WCF包含了WebService,这是一个很强悍的通信技术应用框架。微软把.NET平台下所有涉及到分布式通信的一些技术都融合到wcf中来。比如webservice已经融合到wcf来了、MSQ(微软的消息队列)、甚至还融合一些通信协议,比如TCP,UDP协议。所以wcf把.NET平台下的通信问题给解决了。
这样说你也许看了可能还无法理解,这里我们来模拟一个如何解决跨系统、跨平台、跨服务器进行通信情景(如下图)。
WebService的本质:可以用来解决通信的问题--------------------------------------------------------------------
需求:让张三公司下的这些系统能够进行通信,比如我用C#来写一个计算加减乘除的程序让JAVA或PHP的系统直接来用它。
这无疑是一件令人难以理解的问题。这时候我们可以尝试使用WebService来处理这一件费解的事。
如何创建及使用WebService?
步骤:
1.添加一个Web服务
2.添加完成后,可以看到会产生一个.asmx的文件,我们需要看的是产生的.asmx.cs后台页面。在.NET3.5或早期版本,这个CS页面一般会自动生成到App_Code文件夹里。当然,.NET4.0(包含更高版本)是以节点方式产生。这里看下这个文件的代码结构:
- /// <summary>
- /// WebServiceDemo 的摘要说明
- /// </summary>
- [WebService(Namespace = "http://tempuri.org/")]
- [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
- [System.ComponentModel.ToolboxItem(false)]
- // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
- // [System.Web.Script.Services.ScriptService]
- public class WebServiceDemo : System.Web.Services.WebService
- {
- [WebMethod]
- public string HelloWorld()
- {
- return "Hello ";
- }
- }
这个代码其实很简单,一个普通类来继承System.Web.Services.WebService这个基类。
[WebMethod]属性会将方法附加到Public 方法表示希望将该方法公开为 XML Web services 的一部分。通俗的讲就是在没有加这个属性时,你写的WebService就无法被外部访问。
3.创建一个简单的WebService
- [WebMethod]
- public int Add(int a, int b)
- {
- return a + b;
- }
4.引用:通过Winform程序去调用它
-4.1创建完winform程序后,添加服务引用
-4.2将WebService地址放到地址去搜索服务,这样就可以看到刚才创建的方法了
5.启用刚才创建的winform程序来调用这个程序
- private void button1_Click(object sender, EventArgs e)
- {
- int a = int.Parse(t1.Text);
- int b = int.Parse(t2.Text);
- Var_WebService.WebServiceDemoSoapClient client = new Var_WebService.WebServiceDemoSoapClient();//WebService走的是Soap协议
- int result= client.Add(a, b);
- MessageBox.Show(result.ToString());
- }
结果:
WebService学习笔记的更多相关文章
- WebService学习笔记系列(二)
soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...
- Java WebService学习笔记 - Axis进阶(二)
上一篇 Java WebService学习笔记 - Axis(一) 前一篇博文中简单介绍了Axis的使用方法,这篇将介绍一些Axis的一些高级特性 Axis中Handler的使用 Handler ...
- Java WebService学习笔记 - Axis(一)
WebService 简介 实际开发中,很多系统都是基于历史遗留系统进行开发,有时,这些系统基于不同的语言,如C,C++,C#,java,PHP等等.为了实现历史系统的再利用,或向外部程序暴露调用接口 ...
- webservice 学习笔记 1
Webservice----------->跨语言服务调用 (视频学习总结) 1-1.有OA系统 需要添加一个功能,登录之后显示天气情况 此时可以使用Webservice eg1: 气象局自己有 ...
- WebService 学习笔记(一、概念及定义)
定义 WebService是一种服务导向架构(SOA service-oriented architecture)的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作. Web ...
- webservice 学习笔记
1.webservice的概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...
- WebService学习笔记一
01——Schema约束复习 1.1 schema约束 几个重要知识: 1.namespace 相当于schema文件的id 2.targetNamespace属性 用来指定schema文件的name ...
- WebService学习笔记系列(四)
今天主要来看看服务端的编写及发布. 服务端的编写主要包括三个步骤: 1.编写一个接口,即SEI(server endpoint interface) 2.编写接口的实现类,即SIB (server i ...
- WebService学习笔记系列(三)
网上有一些提供webservice服务的网站,我们要怎么调用呢? 今天来看个如何调用手机归属地查询服务.这个网站上提供了许多webservice服务,其中包括手机归属地查询服务,我们今天就用wsimp ...
- WebService学习笔记系列(一)
webservice主要是解决两个系统或者两个应用程序之间的远程调用,它提供了一种通过web方式访问的api,调用是跨语言.跨平台的. webservice的客户端与服务端进行交互的时候使用xml来传 ...
随机推荐
- 【Node】fs
var fs = require('fs') // fs 文件系统 var stdin = process.stdin var stdout = process.stdout var stats = ...
- svn提交时强制注释
不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范.有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢? 利用svn的pre-commi ...
- 开源cms
提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐 ...
- TOAD Menu Shortcuts 快捷键
TOAD Menu Shortcuts Category Command Shortcut Conflict File AWR Browser File Compare Files File DBMS ...
- 【解决】笔记本发射WiFi
这个百度一下一大堆 .. 不过还是希望自己总结一发适合自己的 (*^__^*) 废话不多说,开始 基于几个bat (1)CreateWlan.bat netsh wlan set hostednet ...
- MongoDB 复制集(二) 选举 自动故障切换
一 复制集的高可用性简介 复制集通过故障自动切换来实现高可用性,当主节点出现故障的时候,从节点可以通过选举成为主节点,而这个过程在大多数当情况下是自动进行的,不需要手动干预.在某些情况 ...
- java接口相关例题
java接口相关习题 interface Graphics{ //接口里面只能用抽象方法 public abstract double area(); }//设置 平面类class Plan ...
- java方法的重载
java方法的重载 public class Person1 { private String name; //姓名 private int age; //年龄 priva ...
- win8笔记本无法搜索wifi信号找不到WLAN该 wifi共享特别注意的服务
WlansvcWLAN AutoConfigWLANSVC 服务提供配置.发现.连接.断开与 IEEE 802.11 标准定义的无线局域网(WLAN)的连接所需的逻辑.它还包含将计算机变成软件访问点的 ...
- ios9中 UIStackView的使用
ios9中 UIStackView的使用 by 伍雪颖 UIStackView能够垂直或水平排布多个subview, 自己主动为每一个subview创建和加入Auto Layout constrain ...