.Net中WebService从创建到发布到部署带(IIS)的过程笔记
一、Web Service
1、定义
是可以接收从Internet上的其他系统中传递的请求,是一种轻量级的独立的通讯技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。所以它是一个平台独立,低耦合,自包含,基于可编程的Web应用程序,适用于开发分布式的互操作的应用程序,减少了应用程序的花费,为各个不同的系统提供了一个通用机制。
2、XML,SOAP和WSDL就是构成WebService平台的三大技术 。
XML:扩展型标记语言,面向短期的零时数据处理、面向万维网络,是SOAP的基础;
SOAP:是XML文档形式的调用方法规范,它可以支持不同的底层接口像HTTP(S)和SMTP;
WSDL(Web Services Description Language):文件是一个XML文档,用于说明一组SOAP消息以及如何交换这些消息,大多数情况下是由软件自动生成和使用;
WebService采用Http协议来在客户端和服务端之间传输数据。WebService使用XML来封装数据,XML主要的优点在于它是跨平台的。
WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议规定的。
WebService服务器端首先要通过一个WSDL文件来说明自己有什么服务可以对外调用。
简单的说,WSDL就像是一个说明书,用于描述WebService及其方法、参数和返回值。 WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找;2.直接告诉给客户端调用者。
WebService交互的过程就是,WebService遵循SOAP协议通过XML封装数据,然后由Http协议来传输数据。
3、特征:
1、它是基于SOAP协议的,数据格式是XML
2、只支持HTTP协议
3、它不是开源的,但可以被任意一个了解XML的人使用
4、它只能部署在IIS上
二、基于.NET平台的Web Services创建
1、打开VS(2017)工具,点文件—》新建项目—》Visual c#—》ASP.NET Web应用程序


2、在之前创建的项目的基础上,右键点击—》添加—》新建项

3、创建成功

三、WebService(IIS)发布
1、先将创建的项目重新生成一遍,并生成成功后,右键点击项目—》发布—》




四、部署在WindowServer2012服务器的IIS上
1、先在服务器上安装IIS,具体步骤网上有教程,安装成功后。
2、具体步骤如下:
1>、打开IIS服务器

2>右键点击网站—》添加新网站

3>程序应用池配置

4>点击新建的网站,点击默认文档-》新增默认文档

5>浏览网站可能会遇到一下错误

解决方法:添加文件夹控制权限

6>再次浏览网站,就OK了

五、外网调用发布的WebService服务
1>、访问方式:公网IP:端口 例如:http://localhost:8085/WebService1.asmx
将localhost换成公网IP http://106.52.37.221:8085/WebService1.asmx
可能会遇到以下错误:

错误原因:服务器上防火墙阻止了访问,
解决方法;1、直接关闭防火墙(不推荐)
2、建立入站规则,步骤如下:
1.只控制面板中找到防火墙-》选择高级设置-》点击入站规则

2、新建入站规则

3.填写端口, 即新建网站时配置的端口号 如前面配置的8085端口

4.下一步

5.下一步

6.下一步

7.完成以上操作后,重新访问http://106.52.37.221:8085/WebService1.asmx

8.部署成功OK了,其他应用程序就可以调用了
.Net中WebService从创建到发布到部署带(IIS)的过程笔记的更多相关文章
- 使用vs2010创建、发布、部署、调用 WebService
原文地址:使用vs2010创建.发布.部署.调用 WebService作者:吴超 一 使用vs2010创建 WebService 1 打开VS2010,菜单 文件->新建->项目2 ...
- C#中WebService的创建、部署和调用的简单实例
webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互. 概念性的东西就不说太多,下面开始创建一个简单的webservice的例子. 一:WebService的创建开发 先新建一 ...
- ASP.NET中WebService的创建和部署以及通过反射动态调用WebService
一.在ASP.NET中创建WebService 首先我们先创建一个ASP.NET Web 应用程序,此处我们以VS2017为例 点击新创建的项目,右键添加新建项,选择Web服务,输入名称后点击添加 这 ...
- C#WebService的创建与发布
VS中新建项目-Web-ASP.NET Web应用程序 然后确定,选择空模版就可以了 其中CRMService.asmx是点击项目新建Web服务(asmx) 这样基本的功能就能用了,然后就是发布 点击 ...
- Web Service 的创建简单编码、发布和部署
最近,老大准备将已有的C/S架构项目中的通信部分做成通用,需要将其支持WebService为以后项目向着B/S架构升级做好铺垫,为此身为屌丝的我去各种百度WebService是个什么卵玩意,然后逐渐搭 ...
- MVC.NET 发布后,部署到iis ,网站中的Bootstrap的字体图标不能正常显示
时隔多日没有在博客中记录自己遇到的问题及解决方案了 ,今天给大家分享一个可能会遇到的一个鸡肋bug ! 如果你的项目是MVC并且在项目中引用了 Boostrap 框架,你在编辑发布后部署到iis的时候 ...
- C# WebService创建、发布、调用的简单例子
Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. Web ...
- WebService的创建发布及部署
1.打开win7的IIS功能: http://jingyan.baidu.com/article/2a138328ae4b85074b134f55.html 2.IIS注册Frameworkt4.0 ...
- C# WebService中任务处理线程创建子线程后
protected void WriteLog(string message) { lock (lockObject) { var file = System.IO.File.AppendText(& ...
随机推荐
- MySQL基于报错注入1
0x1 判断注入点: http://www.xxxx.ro/s.php?id=1' 那么尝试闭合下单引号 http://www.xxxx.ro/s.php?id=1' --+ 0x2 枚举下表的列 h ...
- 禁止ViewPager滑动
实现如下: public class NoScrollViewPager extends ViewPager { public NoScrollViewPager (Context context) ...
- netcore中使用grpc
简介 grpc是由google公司开发的一个高性能.开源和通用的RPC框架,采用HTTP/2通信. 1.gRPC的传输使用http/2支持双向流. 2.支持多语言,例如java.go.php.net. ...
- html之form表单
目录 form表单 表单属性 action method input标签 select标签 textarea标签 form表单 表单能够获取用户输入,用于向服务器传输数据,从而实现用户与web服务器的 ...
- 28.Java基础_抽象类
抽象类的成员特点 public abstract class Animal { private String name; private int age; public Animal() { } pu ...
- Linux学习(一)简介
Linux 简介 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux 是一套免费使用和自由传播的类 Unix 操作系统 ...
- python爬虫之深度爬取实例
写了一个之前没完成的项目,代码优化不够,速度有点慢,应该也有错误的地方,望大佬看了之后能给点建议......... 这是开始的url,先看一下它的网页结构:http://www.cymodel.net ...
- Single-SPA 前端微服务化 动态路由多系统合并
每日优鲜供应链前端团队微前端改造 动态注册路由,然后根据路由判断加载子项目js资源.子项目webpack需要设置externals,然后用systemjs接管external的包加载 webpack ...
- luoguP4094 [HEOI2016/TJOI2016]字符串
题意 考虑二分答案\(mid\),现在我们要判断\(s[c...c+mid-1]\)是否在\(s[a...b]\)出现过. 首先找到\(s[c...c+mid-1]\)所在的状态: 建出\(paren ...
- Java定义的数据类型
/* Java定义的数据类型 一.变量按照数据类型来; 基本数据类型; 整型:byte short int long 浮点型 float double 字符型 char 布尔型:boolean ...