c# .net WebService环境搭建及学习

公司的项目中用到了WebService,所以学习了一下net环境下的WebService搭建并且在此记录供大家学习参考。关于WebService的概念啥的我就不说了,直接进入主题以解决大家的刚需,嘿嘿。

主要步骤

  1. 创建服务,创建一个.net framwork web项目用来提供WebService服务
  2. 调用服务,这里调用我写了两个案例,一个是.net framwork控制台调用,另一个是.net core web来调用。不过大体相似。

创建服务

1.创建一个.net framwork web 空项目

 

 2.右击项目名,点击添加 -> 新建项(Ctrl + Shift + A)

 3.选择Web -> Web服务(ASMX),点击添加

 4.如图,创建了一个WebService1.asmx文件,我在里面添加了Sum,Sum1,Sum2方法。

 5.点击启动,可以看到首页中有我们自定义的方法。没有ref参数的方法可以点击对应方法来进行调用。 记录下URL:https://localhost:44344/WebService1.asmx,后面客户端配置服务引用的时候要用到。
        WebService服务到此也就创建完成了,接下来我们要创建客户端来调用这些方法。

 调用服务

案例1(.net framework 控制台)

1.创建一个.net framework 控制台项目

 

 2.在 引用 右击,点击添加服务引用。

3.点击 高级 -> 添加Web引用

4.在URL中填入上一步的URL:https://localhost:44344/WebService1.asmx
然后点击右边的 “->”,填写完引用名后点击 “添加引用”。

 5.然后你会发现项目多了一个文件“Web References/引用名”。

6.然后在代码中写入以下代码来调用Web Service服务,点击运行就OK啦。 

namespace WebServiceClient1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 动态创建客户端
            // localhost.WebService1 service = new localhost.WebService1("SOAP", "​https://localhost:44344/WebService1.asmx​")

            localhost.WebService1 service = new localhost.WebService1();

            Console.WriteLine("HelloWorld返回值:" + service.HelloWorld());

            Console.WriteLine("sum返回值:" + service.sum(1, 2));

            int a = 0;
            Console.WriteLine("sum1返回值:" + service.sum1(3, 4, ref a) + "  a的值为:" + a);

            Console.WriteLine("sum2返回值:" + service.sum2(5, 6));

            Console.ReadLine();
        }
    }
}

最后说一下服务路径的配置信息,在App.config文件下

案例2(.net core web api)

1.创建一个.net core web api项目

2.右击“Connected Services” -> “管理连接的服务”

 3.如图填写配置信息。

 4.就可以看到Connected Services下生成如下文件。

 5.最后写我们的代码就行了。

        public static void Main(string[] args)
        {
            WebService1SoapClient client = 
                new WebService1SoapClient(WebService1SoapClient.EndpointConfiguration.WebService1Soap, 
                "https://localhost:44344/WebService1.asmx");

            // 如果原方法类型返回类型为基本数据类型且参数不含ref,则调用方法如下
            int r1 = client.sumAsync(1, 2).Result;

            // 如果原方法返回类型为基本数据类型且参数含ref,则调用方法如下
            int c = 0;
            sum1Response r2 = client.sum1Async(new sum1Request(1, 2, c)).Result;
            Console.WriteLine(r2.c);
            Console.WriteLine(r2.sum1Result);

            // 如果原方法返回类型为 类 且参数不含ref,,则调用方法如下
            sum2Response r3 = client.sum2Async(1, 2).Result;
            Console.WriteLine(r3.Body.sum2Result);
        }

以上就是.net WebService的简单学习。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值