创建WebService以及调用

文章目录

    • 1.创建asp.net mvc 空项目
      • 1.1 添加Web服务(ASMX)
      • 1.2 发布到IIS
    • 2.创建控制台程序
      • 2.1 添加服务引用
      • 2.2 调用测试
    • 3.下载链接
    • 注意事项:

1.创建asp.net mvc 空项目

1.1 添加Web服务(ASMX)

在这里插入图片描述

  • 添加如下代码:
public class Erp_WebService : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public string GetNum()
        {
            return "19287673";
        }

        [WebMethod]
        public string GetInfo()
        {
            List<Info> infos = new List<Info>
            {
                 new Info(){单号 = 1,单据名称 = "Cs1",物料数量 = 10},
                 new Info(){单号 = 2,单据名称 = "Cs2",物料数量 = 20},
                 new Info(){单号 = 3,单据名称 = "Cs3",物料数量 = 30}
            };
            return JsonConvert.SerializeObject(infos);
        }
    }
    class Info
    {
        public int 单号 { get; set; }
        public string 单据名称 { get; set; }
        public int 物料数量 { get; set; }
    }

1.2 发布到IIS

  • 目录浏览功能 → 启用

  • 打开刚发布成功的IIS项目,点击asmx,获取到完整地址

http://localhost:3002/Erp_WebService.asmx

创建WebService以及调用_第1张图片

2.创建控制台程序

2.1 添加服务引用

  • 项目 → 右键 → 服务引用 → 高级 → 添加Web引用 → 输入URL → 点击跳转按钮 → 修改Web引用名 → 添加引用

创建WebService以及调用_第2张图片

2.2 调用测试

class Program
    {
        static void Main(string[] args)
        {
            Erp_WebService service = new Erp_WebService();
            var cs1=service.HelloWorld();
            var cs2 = service.GetInfo();
            var cs3 = service.GetNum();

            Console.WriteLine(cs1);
            Console.WriteLine(cs3);

            List<Info> list = JsonConvert.DeserializeObject<List<Info>>(cs2);
            Console.WriteLine(list[0].单据名称);
            Console.ReadLine();
        }
    }

    class Info
    {
        public int 单号 { get; set; }
        public string 单据名称 { get; set; }
        public int 物料数量 { get; set; }
    }

3.下载链接

Demo下载链接: 百度云
提取码:1234

注意事项:

如果在Web References文件夹中看不到 wsdl文件,则需要点击解决方案资源管理器中显示全部文件按钮

你可能感兴趣的:(.NET,Framework,WebService,wsdl)