c# WebService创建与调用

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]
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值