asmx 、Web Service、Web API

asmx 、Web Service、Web API

asmx 是WEB服务文件
asmx.cs里有相关代码
属于B/S形式,用SOAP方式HTTP访问,用XML返回
可以返回基础类型和PUBLIC结构类型。
C/S结构中经常用到

1.Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-* 规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间.

2.WCF:WCF 是一个分布式应用的开发框架,属于特定的技术,或者平台.既不是标准也不是规范。

Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
个人以为就把webservice当成是Http这种请求和响应方式就可以处理大部分问题了。
SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对自己来说很重要,那么应该多考虑其它的方式,而不要用 SOAP。

为了更好的理解SOAP,HTTP,XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。

=========================================================

WCFWebService的区别:

WCF和WebService 都是基于Soap 协议来进行通讯的(其实soap协议也是xml格式的)

1、WCF
Microsoft 平台上的Soa架构用于构建分布式和可交互式操作的应用程序
统一了ASMX,.NET Remoting 与 Enterprise Service的开发模型
为各种应用提供单一的编程模型
基于配置驱动的协议选择,消息格式,进程分配等等
并没有限制在特定的协议,编码格式,或者主机环境上
所有的选项都是可配置的
wcf‘服务通过给客户端暴露端点,让客户端来调用(通过代理类的调用)

2、WebService
在构建和使用Web Service时,主要用到以下几个关键的技术和规则:
1.XML:描述数据的标准方法.
2.SOAP:简单对象访问协议.
3.WSDL:Web服务描述语言.
4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。

长项一:跨防火墙的通信
长项二:应用程序集成
长项三:B2B的集成
长项四:软件和数据重用
短处一:单机应用程序
短处二:局域网的同构应用程序

=========================================================

Web Service:
1、它是基于SOAP协议的,数据格式是XML
2、只支持HTTP协议
3、它不是开源的,但可以被任意一个了解XML的人使用
4、它只能部署在IIS上


Web API:
1、这是一个简单的构建HTTP服务的新框架
2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术
3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)
4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试
5、它可以部署在应用程序和IIS上
6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好
7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式

=================================================================

web service接口 wsdl和asmx有什么区别

Webservice一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Webservice。
  客户根据WSDL描述文档,会生成一个SOAP请求消息。
  Webservice都是放在Web服务器(如IIS)后面的,客户生成的SOAP请求会被嵌入在一个HTTPPOST请求中,发送到Web服务器来。
  Web服务器再把这些请求转发给Webservice请求处理器。
  请求处理器的作用在于,解析收到的SOAP请求,调用Webservice,然后再生成相应的SOAP应答。
  Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
  个人以为就把webservice当成是Http这种请求和响应方式就可以处理大部分问题了。
  SOAP使用HTTP传送XML,尽管HTTP不是有效率的通讯协议,而且XML还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。
  但是XML是一个开放、健全、有语义的讯息机制,而HTTP是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。
  但是如果效率对自己来说很重要,那么应该多考虑其它的方式,而不要用SOAP。

============================================================

asmx 是WEB服务文件 aspx是网页文件 ascx是用户自定义控件文件

猜你喜欢

转载自www.cnblogs.com/wfy680/p/11960877.html