当前位置: 首页 > article >正文

C#开发webService接口

文章目录

  • 安装ASP.NET和Web开发模块
  • 创建webservice接口
  • 编辑xxxxxx.cs

安装ASP.NET和Web开发模块

开发webWebservice接口需要ASP.NET和Web开发模块

  • 安装visual studio时选择ASP.NET和Web开发模块
  • 后期可以运行Visual Studio Installer点击修改选择ASP.NET和Web开发模块,点击修改进行再次安装
    ASP.NET和Web开发

创建webservice接口

  • 新建ASP.NET Web应用程序(.NET Framework)
    创建应用程序
  • 添加Web服务(ASMX)
    • 在项目解决方案的目录下点击右键
    • 找到添加按钮,点击添加
    • 找到新建项,点击新建项
    • 找到Web服务(ASMX)点击
    • 点击右下角添加进行添加
      Web服务(ASMX)

编辑xxxxxx.cs

using System;
using System.Web.Services;

namespace WebServcie
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://demo.com/webService")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

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

        [WebMethod]
        public Result QueryStock(StockQueryParam param)
        {
            string paramStr =  param.ToString();
            Console.WriteLine(paramStr);
            //TODO 具体业务处理
            return Result.success("请求成功");
        }
    }

    public class StockQueryParam
    {
        private string matnr; //物料编码
        private string werks; //工厂
        private string lgort; //库存地点
        private string mtart; //物料类型
        private string matkl; //物料组
        private string zwidth; //宽
        private string zlength; //长
        private string sobkz; //特殊库存标识
        private string charg; //批次

        public string Matnr { get => matnr; set => matnr = value; }
        public string Werks { get => werks; set => werks = value; }
        public string Lgort { get => lgort; set => lgort = value; }
        public string Mtart { get => mtart; set => mtart = value; }
        public string Matkl { get => matkl; set => matkl = value; }
        public string Zwidth { get => zwidth; set => zwidth = value; }
        public string Zlength { get => zlength; set => zlength = value; }
        public string Sobkz { get => sobkz; set => sobkz = value; }
        public string Charg { get => charg; set => charg = value; }

        public override string ToString()
        {
            return $"matnr: {matnr}, werks: {werks},lgort: {lgort}, mtart: {mtart},matkl: {matkl}, zwidth: {zwidth},zlength: {zlength}, sobkz: {sobkz},charg: {charg}";
        }
    }

    public class Result
    {
        private int code;

        private string message;

        private object data;

        public int Code { get => code; set => code = value; }
        public string Message { get => message; set => message = value; }
        public object Data { get => data; set => data = value; }

        public Result()
        {
        }

        public Result(int code, string message, object data)
        {
            Code = code;
            Message = message;
            Data = data;
        }

        public Result(string message)
        {
            this.code = 200;
            this.message = message;
        }

        public Result(string message, object data) : this(message)
        {
            this.data = data;
        }

        public static Result success(string msg)
        {
            return new Result(msg);
        }
    }
}

http://www.kler.cn/a/378818.html

相关文章:

  • qt QTabWidget详解
  • 基于人脸识别PCA算法matlab实现及详细步骤讲解
  • 基于Openwrt系统架构,实现应用与驱动的实例。
  • 2、liunx网络基础
  • 信息学科平台设计与实现:Spring Boot技术详解
  • Android:ViewPaper动态添加移除第一页
  • aws(学习笔记第九课) 使用AWS的网络存储EBS
  • Git 概述及相关命令(1)
  • 【小白学机器学习28】 统计学脉络+ 总体+ 随机抽样方法
  • 【Git】Git 版本控制与协作开发指南
  • 在VSCode中读取Markdown文件
  • 【linux-Day7】Vim的使用和简单配置
  • 前端技术月刊-2024.11
  • Google 地图类型
  • mysq-B+Treel(一)
  • 【HTML】——VSCode 基本使用入门和常见操作
  • zoho域名邮箱指南:如何设置优化烽火邮箱?
  • 学编程应该怎么写博客,有什么推荐的平台吗?
  • windows在两台机器上测试 MySQL 集群实现实时备份
  • 三十、Python基础语法(继承-下)
  • Shutdown Abort 强制关库,真的有可能起不来?
  • C++算法练习-day32——222.完全二叉树的节点个数
  • 宠物排泄物图像分割系统:高效目标识别
  • 开放式耳机什么品牌质量好?5款排行榜里的开放式蓝牙耳机
  • rnn/lstm 项目实战
  • 关于使用K8s实现容器化作业的总时效最优调度