c# WebService创建与调用
文章目录
一、前言
WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用。
我们可以调用互联网上查询天气信息Web服务,然后将它嵌入到我们的程序(C/S或B/S程序)当中来,当用户从我们的网点看到天气信息时,他会认为我们为他提供了很多的信息服务,但其实我们什么也没有做,只是简单调用了一下服务器上的一段代码而已。
ISO的七层模型 : 物理层、数据链路层、网络层、传输层、表示层、会话层、应用层
Socket访问 : Socket属于传输层,它是对Tcp/ip协议的实现,包含TCP/UDP,它是所有通信协议的基础,Http协议需要Socket支持,以Socket作为基础
Socket通信特点:
- 开启端口,该通信是 长连接的通信 ,很容易被防火墙拦截,可以通过心跳机制来实现 ,开发难度大 传输的数据一般是字符串 ,可读性不强
- socket端口不便于推广
- 性能相对于其他的通信协议是最优的
Http协议访问 : 属于应用层的协议,对Socket进行了封装
- 跨平台
- 传数据不够友好
- 对第三方应用提供的服务,希望对外暴露服务接口问题
- 数据封装不够友好 :可以用xml封装数据
- 希望给第三方应用提供web方式的服务 (http + xml) = web Service
二、webService相关术语
1.XML
Extensible Markup Language -扩展性标记语言
- XML,用于传输格式化的数据,是Web服务的基础。
- namespace-命名空间。
- xmlns=“http://itcast.cn” 使用默认命名空间。
- xmlns:itcast=“http://itcast.cn”使用指定名称的命名空间。
2. WSDL
WebService Description Language – Web服务描述语言。
- 通过XML形式说明服务在什么地方-地址。
- 通过XML形式说明服务提供什么样的方法 – 如何调用。
3. SOAP
Simple Object Access Protocol –简单对象访问协议
- SOAP作为一个基于XML语言的协议用于有网上传输数据。
- SOAP = 在HTTP的基础上+XML数据。
- SOAP是基于HTTP的。
SOAP的组成如下:
- Envelope – 必须的部分。以XML的根元素出现。
- Headers – 可选的。
- Body – 必须的。在body部分,包含要执行的服务器的方法。和发送到服务器的数据。
三、创建
新建项目,选择 “ASP.NET Web应用程序(.NET Framework)”。

填写好项目名称、选择项目位置以及所使用的框架,然后点击创建。

选择一个空模板,去掉为https配置选项,然后创建。

打开解决方案资源管理器-右键创建的web项目-添加-新建项-添加 web 服务(AMSX)。

默认的是HelloWorld方法,自己可以添加几个方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace webServiceServer
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]

最低0.47元/天 解锁文章
9431

被折叠的 条评论
为什么被折叠?



