C# net framework 开发WebService(Soap)

2021-01-10  乐帮网

c# webservice

(SOAP)简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

在netframework下称呼为WebService,下面我们将会以Visual Studio2019为开发工具创建一个WebService项目,注意此时默认新建的都是soap1.2。在开发前你必须清楚这一点,因为有很多时候SOAP1.1和SOAP1.2 并不通用。

下面是开发详细过程

(1)创建新项目,选择ASP.NET Web应用程序 ,如下图

(2)配置新项目,为自己的项目起个名字,然后点击下一步,如下图

(3)进入模板选择页面,选择空,如下图

(4)此时便新建好项目,我们需要添加WebService,在项目上右键,》添加》新建项》选择Web服务(ASMX) 如下图

(5)这时我们新一个类用于示例的返回和接受参数,类名StudentModel 代码如下:

public class StudentModel
    {
        /// <summary>
        /// 学号
        /// </summary>
        public string Sno { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 班级
        /// </summary>
        public string Grade { get; set; }
        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday { get; set; }
    }

(6)添加WebService实现方法,这里我们实现一个添加方法,一个获取方法。双击WebServiceDemo.asmx添加代码如下:

public class WebServiceDemo : System.Web.Services.WebService
    {
        /// <summary>
        /// 按学号查找学生信息
        /// </summary>
        /// <param name="sno">学号</param>
        /// <returns>学生信息</returns>
        [WebMethod]
        public StudentModel Get(string sno)
        {
            return new StudentModel() {Sno=sno,Name="小红",Grade="202002",Birthday=new DateTime(2012,8,15) };
        }
        /// <summary>
        /// 添加学生信息
        /// </summary>
        /// <param name="student"></param>
        /// <returns></returns>
        [WebMethod]
        public int Add(StudentModel student)
        {
            return 1;
        }

    }

(7)点击Visual Studio2019上的运行按钮,此时便可以在浏览器里预览了。直接运行看到的页面是错误的地址,需要手动改一下地址如下:https://localhost:44315/WebServiceDemo.asmx?wsdl,添加后半部分WebServiceDemo.asmx?wsdl。我们便可以看到正常的返回了,如下图

至此我们已经完成了一个简单的WebService,这个服务实现两个接口,一个Get 一个Add方法。

源码地址:链接:https://pan.baidu.com/s/19hBm8r8c0klIHLH6JN99dw 
查看提取码请先点击下方的捐赠按钮。

原创作品

相关文章:C# netcore 开发WebService(Soap)

 

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力