WebService:一种跨编程语言和操作系统平台的远程调用技术,SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。

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

WSDL:网络服务描述语言是Web Service的描述语言,它包含一系列描述某个web service的定义。

环境:VS2013  

IIS:IIS6

一、搭建

1、新建项目,新增一个ASP.NET空Web应用程序,选择.NET Framework4

2、在项目中,添加一个Web服务(ASMX)

3、在WebService1.asmx文件中添加服务端方法,此处添加一个测试方法
注意:在方法前不要遗漏   [WebMethod],使远程Web客户端可以调用此方法。

二、分布WebService

1、右键项目,选择菜单中的“发布”

2、新建配置文件,“config1”

选择连接选项,发布方法选择文件系统,选择WebService需要发布的位置

设置:配置成Release

发布webService,发布成功,输出显示发布成功,在目标位置可以看到如下文件。

注意:目标位置不可选择桌面,桌面下的文件有访问权限,容易导致下面发布到IIS上,无法访问。至于C盘下的路径是否都不可访问,此处没有测试过。

三、部署IIS

1、在Default Web Site下添加应用程序,设置别名,这个随你高兴,无所谓,物理路径选择之前WebService发布位置。

2、点击浏览,可在浏览器中看到如下显示,点击“WebService1.asmx”,显示服务器错误,我们可以看到版本信息那栏显示的.NET Framework是2.0,

但是我们前面在创建WebService时选择的是.NET Framework 4.0。

3、在应用程序池添加一个.NET Framework 4.0的程序池。

选择WebService的应用程序的高级设置,把应用程序池改为新设置的程序池,重复上面2步骤,

在浏览器中就可以看到我们刚才在webService.asmx中添加的方法,

点击服务说明,可以跳转到wsdl模式下。

     

至此,WebService发布部署成功。

四、客户端调用WebService服务端方法

1、新建项目,新建控制台应用程序,选择项目,右键菜单,添加服务引用。

2、在地址处,添加之前发布的WebService服务,如在下拉处没有找到,点击"发现",即可找到,

选择好地址后,点击"转到",可查看到服务。

3、点击“高级”,点击“添加Web引用”,URL选择WebService服务,添加引用

添加成功,可在项目中看到web引用。

4、在客户端程序中调用服务端方法

五、WebService和实体类的应用

1、在实体类前加上[Serializable],webService调用时[XmlInclude(typeof(Book))]

              

2、重新生成项目,发布WebService,在客户端更新web引用,就可以调用Book实体和新建方法。

调用方法及结果如下:

3、有继承类的使用

WebService的搭建,部署,简单应用和实体类结合使用的更多相关文章

  1. IntelliJ IDEA 2017版 spring-boot2.0.2 搭建 JPA springboot DataSource JPA 实体类浅谈

    一.实体类分析 一般用到的实体类的类型有 String类型.Long类型.Integer类型.Double类型.Date类型.DateTime类型.Text类型.Boolean型等 1.String类 ...

  2. 十一、Docker搭建部署SpringCloud微服务项目Demo

    环境介绍 技术选型:SpringCloud&SpringCloud Alibaba&Docker 微服务模块划分: 员工模块:ems-employees 部门模块:ems-depart ...

  3. EFCore_环境搭建与简单使用_01

    开发环境搭建 经典步骤:建实体类.建DbContext.生成数据库 本次使用codefirst模式,走下流程,(你也可以先建好数据库,用命令行的形式,直接生成DbContext,而且生成的DbCont ...

  4. 【Java EE 学习 69 下】【数据采集系统第一天】【实体类分析和Base类书写】

    之前SSH框架已经搭建完毕,现在进行实体类的分析和Base类的书写.Base类是抽象类,专门用于继承. 一.实体类关系分析 既然是数据采集系统,首先调查实体(Survey)是一定要有的,一个调查有多个 ...

  5. c# 实体类生成工具

    一个简单生成c#实体类的工具 源代码下载

  6. [NewLife.XCode]实体类详解

    NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...

  7. nginx Win下实现简单的负载均衡(1)nginx搭建部署

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

  8. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

  9. Java Web开发SpringMVC和MyBatis框架开发环境搭建和简单有用

    1.下载SpringMVC框架架包,下载地址: 点击下载 点击打开地址如图所看到的.点击下载就可以 然后把相关的jar拷贝到lib下导入 2.MyBatis(3.4.2)下载 X-Amz-Algori ...

随机推荐

  1. JavaEE常用开发工具分享

    链接:https://pan.baidu.com/s/1Jxd2Y45LhWAUHc8-dM_ukw 提取码:h50f

  2. java基础之流程控制语句

    一.     分支 1.      三元运算符 ?: 注意:三元运算符虽然简洁但是语法乱,而且必须要有接受者或者直接打印 1.     if else语句 另一种不带括号的写法: if(条件) 语句1 ...

  3. nginx架构与基础概念

    1       Nginx架构 Nginx 高性能,与其架构有关. Nginx架构: nginx运行时,在unix系统中以daemon形式在后台运行,后台进程包含一个master进程和多个worker ...

  4. 【bzoj1030】: [JSOI2007]文本生成器 字符串-AC自动机-DP

    [bzoj1030]: [JSOI2007]文本生成器 首先把匹配任意一个的个数的问题转化为总个数-没有一个匹配的个数 先构造AC自动机,然后枚举每一位的字母以及在自动机上的位置 f[i][j]为第i ...

  5. poj2417(Baby-Step Giant-Step)

    题目链接:http://poj.org/problem?id=2417 题意:求满足给出 P, N, B, 求满足条件 BL == N (mod P) 的最小 L, 若不存在则输出 no soluti ...

  6. Sessions in BSU

    Sessions in BSU 有n项考试.每项考试给定两个时间,你可以任意选择一个时间.每个时间点只能考一场考试,请问在最优情况下最早考完的时间.n<=1e6. 把题目抽象成图论模型:在每项考 ...

  7. HDU6301 Distinct Values (多校第一场1004) (贪心)

    Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  8. 洛谷P1894 [USACO4.2]完美的牛栏The Perfect Stall

    题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术.不幸的是,由于工程问题,每个牛栏都不一样.第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在 ...

  9. [ZJOI2018]历史(LCT)

    这篇还发了洛谷题解 [Luogu4338] [BZOJ5212] 题解 题意 给出一棵树,给定每一个点的 \(access\) 次数,计算轻重链切换次数的最大值,带修改. 先考虑不带修改怎么做 假设 ...

  10. echarts和highcharts

    highcharts是基于svg技术的 echarts基于canvas 后者可以在浏览器中实现3D图形  链接  ,这种效果highcharts是完全不可能做得到的.