.NET总结--WebService 配置与设置,发布
发环境
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 配置与设置,发布的更多相关文章
- .Net中WebService从创建到发布到部署带(IIS)的过程笔记
一.Web Service 1.定义 是可以接收从Internet上的其他系统中传递的请求,是一种轻量级的独立的通讯技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就 ...
- 找不到对应的webservice配置参数[ProcessService]
在UI端 保存时 界面显示无法保存 且报此错误 “找不到对应的webservice配置参数[ProcessService]” 此下为解决方法: 首先 在[应用管理平台]--[参数模板设置] 找到你的参 ...
- .net—— webservice的新建、发布、使用(最全、最简单)【原创】
网上有很多关于webservice资料,但大部分都不完整,其中还要很大部分是转载的--.这个悲剧了,自己都没试过能不能用就不负责任的转载. 所以今天对webservice的新建.发布.使用最一个全面. ...
- webservice axis2客户端设置代理方法(公司网络通过代理访问时)
webservice axis2客户端设置代理方法(公司网络通过代理访问时) UploadProcessInServiceStub stub = new UploadProcessInServic ...
- Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET
Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET Qtwebkit配置,设置交叉编译环境 分类: Qt Webkit 2012-04-12 15: ...
- ABP文档笔记 - 配置、设置、版本、功能、权限
配置 全局仅一个单例,保存一组配置信息,一般直接在模块的预启动事件中赋值or修改.没有Scope划分,无论租户还是房东亦或者用户读取的值都不会有差异.每个模块都可以扩展这个配置. 设置 它没有层级关系 ...
- C# WebService服务器搭建、发布、上线、调试
C# WebService服务器搭建.发布.上线.调试 1. WebService服务器搭建 开发环境选择VS2017版本 步骤1:打开VS,文件->新建 ->项目->ASP.NE ...
- webservice 配置
webservice 配置 <system.web> <!--允许GET/POST请求 --> <webServices> <protocols> &l ...
- ios app: 使用企业license设置发布app的过程
ios开发者证书与企业证书的内容,关系,以及ios app 使用企业license设置发布app的过程 iOS是一个非常封闭的系统.授权文件(.mobileprovision)和签名证书文件(.c ...
随机推荐
- asp.net core 系列之允许跨域访问2之测试跨域(Enable Cross-Origin Requests:CORS)
这一节主要讲如何测试跨域问题 你可以直接在官网下载示例代码,也可以自己写,我这里直接使用官网样例进行演示 样例代码下载: Cors 一.提供服务方,这里使用的是API 1.创建一个API项目.或者直接 ...
- SpringCloud-Consul开发环境配置
一.consul安装 1.下载:https://www.consul.io/downloads.html: 2.选择版本:本人开发环境是windows,所以选择win64: 3.安装:保存至D:/Sp ...
- PAT 1008数组元素右移问题
PAT 1008数组元素右移问题 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变 ...
- SqlServer共用表达式(CTE)With As 处理递归查询
共用表表达式(CTE)可以看成是一个临时的结果集,可以再SELECT,INSERT,UPDATE,DELETE,MARGE语句中多次引用. 一好处:使用共用表表达式可以让语句更加清晰简练. 1.可以定 ...
- Jackson动态JSON处理
https://www.baeldung.com/jackson-mapping-dynamic-object https://www.baeldung.com/jackson-deserializa ...
- Object中defineProperty数据描述
Object.defineProperty是对对象中的属性进行数据描述的 使用语法: Object.defineProperty(obj,prop,descriptor) 使用示例: var data ...
- js根据json数组多个字段排序
/**数组根据数组对象中的某个属性值进行排序的方法 * 使用例子:newArray.sort(sortByArr(['number'],false)) //表示根据number属性降序排列;若第二个参 ...
- 搭建idea出现无法自动映射Mapper问题
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 如出这种问题,导致的原因是mapp.xm ...
- C语言深入学习
计算机存储篇 1.计算机对数据类型的辨别: 编译器在编译C程序时将其转变为汇编指令,其中指明了数据类型.此外,每种数据类型都有固定的存储长度,计算机运行程序时,会根据具体类型 读出相应长度的数据进行计 ...
- 常用内置模块(一)--time、os、sys、random、shutil、pickle、json
一.time模块 Python中,通常有这几种方式来表示时间: 1.时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type( ...