C#/.NET WebService的一步步创建使用及访问验证

C#/.NET WebService的一步步创建使用及访问验证

废话就不多说了,直接开始建工程

1、首先创建MVC项目

在这里插入图片描述

2、在工程目录下创建Remote文件夹(使用规范)

在这里插入图片描述

3、文件夹中添加【Web服务(asmx)】新建项

在这里插入图片描述

4、在axmx文件中写接口代码—Web方法要有WebMethod标记

        [WebMethod]//必须标记public string HelloWorld(){return "Hello World";}[WebMethod]//必须标记public int Plus(int x, int y){return x + y;}//没扩展的是无法找到的public int Minus(int x, int y){return x - y;}

5、新建Uinit单元测试项目

6、添加服务引用:右键打开【Web服务(asmx)】文件在浏览器中运行,然后复制Url,再粘贴至服务引用中

先打开【Web服务(asmx)】文件

在这里插入图片描述

在这里插入图片描述

添加服务引用

在这里插入图片描述
在这里插入图片描述

7、最后using(xxx.xxClient client = new xxx.xxClient()),后面就是正常用了。

        [TestMethod]//测试方法public void TestMethod(){using (WebServiceTest.WebServiceSoapClient client = new WebServiceTest.WebServiceSoapClient()){var result1 = client.HelloWorld();var result2 = client.Plus(123, 345);}}

扩展:

要传回List数据:

在已经添加的服务引用右键->配置服务引用->集合类型选择Generic.List
在这里插入图片描述

添加访问验证:

在上面Remote文件夹下建CustomSoapHeader类

    /// /// Header:分配个加密钥  账号密码加密/// /// public class CustomSoapHeader : System.Web.Services.Protocols.SoapHeader{private string userName = string.Empty;private string passWord = string.Empty;public CustomSoapHeader()//必须有一个无参数的构造函数{ }/// /// 构造函数/// /// 用户名/// 密码public CustomSoapHeader(string userName, string passWord){this.userName = userName;this.passWord = passWord;}/// /// 获取或设置用户用户名/// public string UserName{get { return userName; }set { this.userName = value; }}/// /// 获取或设置用户密码/// public string PassWord{get { return passWord; }set { this.passWord = value; }}public bool Validate(){return this.UserName.Contains("s") && this.PassWord.Contains("1");}}
Web代码:
        [WebMethod][System.Web.Services.Protocols.SoapHeader("CustomSoapHeader")]public List Get(){if (this.CustomSoapHeader != null && this.CustomSoapHeader.Validate()){return new List(){new WebServiceUser(){Id=123,Age=23,Sex=0,Name="MrSorry",Description="高级班的学员1"},new WebServiceUser(){Id=234,Age=34,Sex=0,Name="专注",Description="高级班的学员2"},};}else{throw new SoapException("身份验证不通过", SoapHeaderException.ServerFaultCode);}}public class WebServiceUser{public int Id { get; set; }public int Age { get; set; }public int Sex { get; set; }public string Name { get; set; }public string Description { get; set; }}
访问代码:
[TestMethod]//测试方法public void TestMethod(){using (WebServiceTest.WebServiceSoapClient client = new WebServiceTest.WebServiceSoapClient()){var result3 = client.Get(new WebServiceTest.CustomSoapHeader(){UserName = "s400",PassWord = "1232433"});}}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部