WebService简介

Posted taotaozhuanyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebService简介相关的知识,希望对你有一定的参考价值。

一些博客地址:

技术图片
WCF、WebAPI、WCFREST、WebService之间的区别:

http://www.cnblogs.com/markli/p/4460564.html

04SOA架构设计经验分享—架构、职责、数据一致性

http://www.cnblogs.com/wangiqngpei557/p/4486177.html

WebService登陆验证四种方式:

http://www.cnblogs.com/zuowj/p/4981919.html

前端解决跨域问题的8种方案

https://blog.csdn.net/weixin_39939012/article/details/83822126
View Code

浅析深究什么是SOA:http://blog.vsharing.com/fengjicheng/A1059842.html

SOA:面向服务架构,是构造分布式系统的方法论,也会提供一些标准、工具。

技术图片

 

 什么是分布式?以前只能一台电脑做的事,现在可以多态服务器一起协作。

在.NET 中怎么做法哦分布式?

  1、队列

  2、第三方存储

  3、DB

WebService是寄宿在IIS,也就是必须在网站项目。

HTTP协议、SOA协议:

  1、Http传输信道,A服务器到B服务器,数据是什么格式传递的

  2、XML的数据格式,Http传输协议得到的有用数据

  3、SOA协议,封装格式:在分布式的环境中,描述了如何做数据交换的一个轻量级协议

  4、WSDL,属于WebService的标配,标准化描述服务,方便调用的

  5、UDDI,根据描述查找服务的机制

可以新建一个WebService的服务。诗意asmx类型的文件。

 public class MyWebService : System.Web.Services.WebService
 
     [WebMethod]
     public string HelloWorld()
     
         return "Hello World";
     

这个[WebMethod]是一定要加上的。

在浏览器上面浏览的是这个结果,点击对应的方法,就可以进行测试了。

技术图片

 

 技术图片

 

 服务端调用WebService,添加服务引用,基于svcUtil.exe生成的,与WSDL生成的一个代理,屏蔽服务调用的复杂性。

单元测试:

  1、测试方法

  2、回归测试

  3、断言Assert

技术图片

 

 WebServ安全认证:

  1、Form认证,windows认证

  2、在服务里面增加账号密码认证。

技术图片

 

 WebService的方法没有重载。

3、SoapHeader验证:

技术图片
/// <summary>
/// Header:分配个加密钥  账号密码加密
/// 
/// </summary>
public class CustomSoapHeader : System.Web.Services.Protocols.SoapHeader


    private string userName = string.Empty;
    private string passWord = string.Empty;
    public CustomSoapHeader()//必须有一个无参数的构造函数
     

    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="userName">用户名</param>
    /// <param name="passWord">密码</param>
    public CustomSoapHeader(string userName, string passWord)
    
        this.userName = userName;
        this.passWord = passWord;
    

    /// <summary>
    /// 获取或设置用户用户名
    /// </summary>
    public string UserName
    
        get  return userName; 
        set  this.userName = value; 
    

    /// <summary>
    /// 获取或设置用户密码
    /// </summary>
    public string PassWord
    
        get  return passWord; 
        set  this.passWord = value; 
    
    public bool Validate()
    
        return this.UserName.Contains("Eleven") && this.PassWord.Contains("123456");
    




[WebMethod]
[SoapHeader("SoapHeaderProp")]
public string GetInfo(int id, string name)

    if (!this.SoapHeaderProp.Validate())
    
        throw new SoapException("身份验证失败", SoapException.ClientFaultCode);
    
    return Newtonsoft.Json.JsonConvert.SerializeObject(new
    
        Id = id,
        Name = name,
        Remark = $"This is id name"
    );
View Code

 

 

 

 

 

技术图片

 

以上是关于WebService简介的主要内容,如果未能解决你的问题,请参考以下文章

WebService系列一:WebService简介

gSoap开发——Webservice简介

WebService简介

WebService简介

Web Service简介(转)

使用axis调用WebService,Java WebService调用工具类