下载建设银行官方网站下载安装泉州做网站优化多少钱
Web Service
web service 是一种跨编程语言 和 跨操作系统 平台的远程调用技术 就是一种数据接口
 采用了标准的 SOAP 协议传输 遵循w3c的标准 xml传输
 不同数据,不同服务 ,进行数据交互 的web 服务接口
特点
- 基于 SOAP 协议的,传输数据是XML格式
 - 只支持 http 协议
 - 不是开源的,但是可以被任意一个了解xml的人使用
 - 只能部署在iis 服务器上
 
核心组件
| xml 和html | |
|---|---|
| SOAP | 简单对象访问协议 | 
| WSDl | web service描述语言【是w3c基于xml 给web service 提供的特有的xml格式】 | 
| UDDI | 统一描述、发现和继承协议 | 
soap 简单对象访问协议
【相当于http+xml】
wsdl
相当于Web Service 说明文档
 链接地址后拼接?wsdl 可以查看xml文件
 
wsdl 文档 的基础标签节点
- :服务视图
 - :消息格式的定义
 - 可执行方法,以及描述信息
 - 定义参数的相关信息的定义
 - 节点:全部使用的数据类型
 
uddi
独立的框架 统一描述
调用web service
创建web service

创建的方法 要对外调用的话 需要添加[WebMethod] 特性
 
服务引用

 
 添加web service 成功后
 
 使用
 首先要拿到服务的对象,然后通过对象调用方法
 
//调用 web service 接口 1.
ServiceReference1.WebService1SoapClient sesoap= new ServiceReference1.WebService1SoapClient();
string ss =sesoap.GetData();
var slist=JsonConvert.DeserializeObject(sesoap.GetData());
 
如果web service 中添加了新的 处理,需要更新一下服务引用
 
 ** 一定 要 开启 web service **
ajax 调用
get请求
xml和json 取决于 接口方法返回值

//ajax get方式的简写$.get("https://localhost:44323/WebService1.asmx/GetData", function (res) {//处理xml数据res = JSON.parse(res.getElementsByTagName('string')[0].innerHTML)console.log(res)
}, "xml")
 
post 请求
数据 json格式为 object,微软框架默认的是{“d”:“后台返回数据”} d才是后台返回的数据
 
 //调用json格式数据
//post 请求
$.ajax({type:"post",url:"https://localhost:44323/WebService1.asmx/GetDatajson",data:"{total:30}",contentType:"application/json",dataType: "json",success: function (res) {console.log(JSON.parse(res.d))console.log(res)}
})
 
注:
 接口端 类上的需要 添加此行注解【创建web service 时自动生成 一般自动注释】
 在调用接口时、使用web service任何操作时 都需要保证web service 的运行 否则无法获取任何链接
跨域
同源和不同源
协议 域名 端口 都相同被称为同源 任意不同 就会产生跨域问题
 http://www.a.com:8000
 协议[http] 域名[www.a.com] 端口[:8000] 未写端口号默认 8080
跨域问题处理、需要在其他机器上访问,需要在 web.config 中进行配置 因为是接口进行跨域,所以配置在接口的web.config中
 
<system.webServer><!--配置为列出此目录的内容--><directoryBrowse enabled="true"/><!--允许进行跨域请求--><httpProtocol><customHeaders><add name="Access-Control-Allow-Origin" value="*"/><add  name="Access-Control-Allow-Headers" value="*"/><add  name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/></customHeaders></httpProtocol></system.webServer><system.web><!--允许远程调用web service--><webServices><protocols><add name="HttpPost"/><add name="HttpGet"/></protocols></webServices></system.web>
