发环境

  OS:win10 企业版

  开发工具:VS2017

  IIS版本:6.0

  .NET版本:4.6.1

Web Service

  简介

  Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用 WSDL文件进行说明,并通过UDDI进行注册。

  XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

  Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

  WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

  UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

  1.特点:开放性,跨平台性,开放性是webservice的基础

  2.XML通用标记语言,以及HTTP协议远程交互

  3.三种调用方式:httppost,httpget,httpsoap

  简单例子

  首先,创建空web应用程序

  

  选择空web应用程序

  

  添加完成之后需要右键点击刚刚添加的空网站点击添加服务

  

  添加服务后打开该服务增加WebMethod标记为公开方法

  

  这里我还添加了一个ajax测试方法

  

  就此编辑阶段完成,这里添加一下源码:

  

namespace webserviceTest
{
/// <summary>
/// webserviceone 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
//继承于webservice,该基类提供基本通信参数
public class webserviceone : System.Web.Services.WebService
{
//若不添加该标记此方法将无法访问
[WebMethod]
public string HelloWorld()
{
return "Hello World";
} //可访问webservice方法
//Description 方法概述
[WebMethod(Description ="测试方法1")]
public string Addstring(string a, string b) {
return string.Format(a + b);
} //不可访问方法
public string Substring(string a, string b)
{
return string.Format(a +"-"+ b);
}
} /// <summary>
/// 仅仅用作练习,允许ajax调用
/// </summary>
[System.Web.Script.Services.ScriptService]
public class webservicetwo : System.Web.Services.WebService
{ [WebMethod]
public string Ajaxstring() {
return "Hello AJAX";
}
}
}

  右键点击该页面 选择在浏览器中查看就可以看到该方法:

  

  访问成功之后开始部署该服务到服务器,当前是部署到了我本机

  

  注意,进入发布之后选择发布类型时候选择文件夹 或者 自定义模式

  选择之后需要配置该服务位置以及方式如图:

  

  配置成功之后选择发布,注意看一下生成结果:

  

  发布成功后就可以配置iis服务器啦,我本机为IIS6服务 成功安装iis信息服务器之后 按下win+r 键 召唤运行 输入inetmgr

  iis信息服务器配置页面出现 如下图:

  

  点击确定后该服务就发布出去啦访问该服务地址后会出现各种报错,下面是总结报错:

  

  该问题是因为默认文档未设置,解决方式有两部,首先不仅要去配置默认文档,还要添加一下该文件扩展名信息:

  

  默认文档设置:

  

  请求筛选:

  

  该文件扩展名为webservice文件扩展名。.asmx这里注意是有点的

  有时候也会出现权限问题等等需要在网站设置一下:

  

  设置该权限之后问题解决,就可以成功访问该webservice啦

  

  当然还有很多其他错误这里就不一一介绍了

.NET总结--WebService 配置与设置,发布的更多相关文章

  1. .Net中WebService从创建到发布到部署带(IIS)的过程笔记

    一.Web Service 1.定义 是可以接收从Internet上的其他系统中传递的请求,是一种轻量级的独立的通讯技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就 ...

  2. 找不到对应的webservice配置参数[ProcessService]

    在UI端 保存时 界面显示无法保存 且报此错误 “找不到对应的webservice配置参数[ProcessService]” 此下为解决方法: 首先 在[应用管理平台]--[参数模板设置] 找到你的参 ...

  3. .net—— webservice的新建、发布、使用(最全、最简单)【原创】

    网上有很多关于webservice资料,但大部分都不完整,其中还要很大部分是转载的--.这个悲剧了,自己都没试过能不能用就不负责任的转载. 所以今天对webservice的新建.发布.使用最一个全面. ...

  4. webservice axis2客户端设置代理方法(公司网络通过代理访问时)

    webservice axis2客户端设置代理方法(公司网络通过代理访问时)   UploadProcessInServiceStub stub = new UploadProcessInServic ...

  5. Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET

    Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET Qtwebkit配置,设置交叉编译环境 分类: Qt Webkit 2012-04-12 15: ...

  6. ABP文档笔记 - 配置、设置、版本、功能、权限

    配置 全局仅一个单例,保存一组配置信息,一般直接在模块的预启动事件中赋值or修改.没有Scope划分,无论租户还是房东亦或者用户读取的值都不会有差异.每个模块都可以扩展这个配置. 设置 它没有层级关系 ...

  7. C# WebService服务器搭建、发布、上线、调试

    C#  WebService服务器搭建.发布.上线.调试 1. WebService服务器搭建 开发环境选择VS2017版本 步骤1:打开VS,文件->新建 ->项目->ASP.NE ...

  8. webservice 配置

    webservice 配置 <system.web> <!--允许GET/POST请求 --> <webServices> <protocols> &l ...

  9. ios app: 使用企业license设置发布app的过程

      ios开发者证书与企业证书的内容,关系,以及ios app 使用企业license设置发布app的过程 iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.c ...

随机推荐

  1. Python3.x--33个保留字

    查询方法也在下图:

  2. Java自学-接口与继承 内部类

    Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore "战斗成绩" 非静态内部类可以直接在 ...

  3. JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法)

    JavaScript---正则使用,日期Date的使用,Math的使用,JS面向对象(工厂模式,元模型创建对象,Object添加方法) 一丶正则的用法 创建正则对象: 方式一: var reg=new ...

  4. phpStudy配置多站点多域名和多端口的方法

    切记:要想多个域名指向同一个项目,必须将phpstudy的根目录指向你项目所指的地方(原根目录是WWW),修改位置(其他菜单选项 - 软件设置 - 端口常规设置 - 网站目录) 站点:类似于  WWW ...

  5. OCR4:Tesseract 4

    Tesseract OCR 该软件包包含一个OCR引擎 -  libtesseract和一个命令行程序 -  tesseract. Tesseract 4增加了一个基于OCR引擎的新神经网络(LSTM ...

  6. Tachyon内存文件系统快速入门

    一.简介 Tachyon是介于磁盘存储和计算框架之间的一种中间件,用于实现分布式的内存文件读写等功能,实现分布式集群内部共享数据. 应用实例: 二.架构 1.心跳机制 在Tachyon中,心跳用于Ma ...

  7. 【Python】进程、线程、协程对比

    请仔细理解如下的通俗描述 有一个老板想要开个工厂进行生产某件商品(例如剪子) 他需要画一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的为了能够生产剪子而准备的资源称之为:进程 只 ...

  8. 【Spring】Spring注解之@EnableConfigurationProperties

    一.@EnableConfigurationProperties注解的作用 使能够对@ConfigurationProperties注解的bean的支持.   简单理解就是:可以在我们的配置类上不加@ ...

  9. Odoo onChange使用

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826155.html 转载请注明原文地址: [onchange=前端js函数,可以实现前端实时更新以及修改 ...

  10. centos7 升级最新版内核 并安装 bcc-tools

    centos7 升级最新版内核 升级系统 [root@jikeshijian ~]# yum update -y 安装 ELRepo [root@jikeshijian ~]# rpm --impor ...