c#中WebService的介绍及调用方式小结

 更新时间:2018年11月28日 14:55:15   作者:ThinkinLiu  
这篇文章主要给大家介绍了关于c#中的WebService及其调用方式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

之前做移动端开发,都不清楚WebService是啥东东,现在接触c#,项目中有三处WebService调用,就不得不与其打交道了,最近碰上第三方接口地址更换,而自己项目因功能也需要增加WebService方法,所以了解了下WebService及其调用。

C-sharp in itlao5.com

一、概念

Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。简单的理解就是:webservice就是放在服务器上的函数,所有人都可以调用,然后返回信息。 比如google就有一个web service ,你调用它就可以很容易的做一个搜索网站。 就像调用函数一样,传入若干参数(比如关键字、字符编码等),然后就能返回google检索的内容(返回一个字符串)。

WebService:我们可以理解为基于web的服务,它具有跨语言,跨平台的特性,通过web/http的方式实现远程调用,可以让程序的数据操作与功能模块分离。

WebService的几个基础概念:

  1. XML:扩展性标记语言,用于传输格式化的数据,是Web服务的基础;
  2. WSDL:Web服务描述语言,通过xml的形式描述服务的地址及调用方式;
  3. SAOP:基于http+xml的简单对象访问协议,用于数据的网络传输。

SAOP主要有以下几个节点:

Envelope(必须) – 以XML的根元素出现;

Headers(可选) – 常添加一些身份验证数据;

Body(必须) – 包含要执行的服务器的方法和发送到服务器的数据。

示例:

<Envelope>
 <Header>
 </Header>
 <Body>
  <方法名>
   参数
  </方法名>
 </Body>
</Envelope>

二、调用方式

WebService调用方式有多种,这里主要说两种:

方式1. 引用wsdl文件

即通过引用wsdl文件的方式直接生成WebService调用类,如下图:


vs+c#引用wsdl调用webService

这种方式适用于使用vs+c#开发的WebService。只需要如上图添加服务引用,根据后面提示输入url,一步步操作即可,调用时与本地方法的调用无异。

这种方式使用很简单,但缺点也不少,如:接口的每次更新都需要重新生成引用、如果接口使用其他语言开发则调用会出现问题。

方式2. 直接WebRequest请求

通过stringbuilder拼接好saop包内容,然后通过webRequest post方式发送,contentType使用"application/soap+xml; charset=utf-8";即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 深入探讨C#中的const、readonly关键字

    深入探讨C#中的const、readonly关键字

    这篇文章主要介绍了深入探讨C#中的const、readonly关键字,本文可以帮助你深刻理解这两个关键字,而且是面试中最可能面试到的问题哦,需要的朋友可以参考下
    2014-08-08
  • C#通过yield实现数组全排列的方法

    C#通过yield实现数组全排列的方法

    这篇文章主要介绍了C#通过yield实现数组全排列的方法,以实例形式较为详细的分析了全排列的概念及C#的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • C# Web实现文件上传的示例详解

    C# Web实现文件上传的示例详解

    这篇文章主要为大家详细介绍了C# Web实现文件上传的相关知识,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • C#中FormsAuthentication用法实例

    C#中FormsAuthentication用法实例

    这篇文章主要介绍了C#中FormsAuthentication用法实例,本文直接给出实现代码,需要的朋友可以参考下
    2015-02-02
  • C#判断一天、一年已经过了百分之多少的方法

    C#判断一天、一年已经过了百分之多少的方法

    这篇文章主要介绍了C#判断一天、一年已经过了百分之多少的方法,涉及C#针对时间及日期的运算与判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#中的Explicit和Implicit详情

    C#中的Explicit和Implicit详情

    Implicit提高了代码的可读性,但程序员需要自己保证转换不引发异常且不丢失信息、Explicit可阻止编译器静默调用可能产生意外后果的转换操作。前者更易于使用,后者能向阅读代码的每个人清楚地指示您要转换类型,下面就和小编来一起学习吧
    2021-09-09
  • C# 9使用foreach扩展的示例详解

    C# 9使用foreach扩展的示例详解

    在 C# 9 中,foreach 循环可以使用扩展方法。在本文中,我们将通过例子回顾 C# 9 中如何扩展 foreach 循环,感兴趣的小伙伴可以了解一下
    2023-01-01
  • C#实现在前端网页弹出警告对话框(alert)的方法

    C#实现在前端网页弹出警告对话框(alert)的方法

    这篇文章主要介绍了C#实现在前端网页弹出警告对话框(alert)的方法,涉及C#通过自定义函数调用window.alert方法弹出对话框的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C# SQlite操作方法小结

    C# SQlite操作方法小结

    这篇文章主要介绍了C# SQlite操作方法,较为详细的讲述了SQLite的下载与C#针对SQLite的连接、创建、与执行SQL语句等操作相关技巧,需要的朋友可以参考下
    2016-07-07
  • C# 实现Table的Merge,Copy和Clone

    C# 实现Table的Merge,Copy和Clone

    这篇文章主要介绍了C# 实现Table的Merge,Copy和Clone,帮助大家更好的利用c#处理文件,感兴趣的朋友可以了解下
    2020-12-12

最新评论