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)作為數據表示,它是低層次的與平台無關的數據表現形式。
=========================================================
WCF和WebService的區別:
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是用戶自定義控件文件