基于net6搭建webapi項目 WebAPI與傳統(tǒng)的WebService有哪些不同?
WebAPI與傳統(tǒng)的WebService有哪些不同?在.net平臺下,有大量的技術(shù)讓你修改一個HTTP服務(wù)什么,像WebService,WCF,現(xiàn)在又出了WebAPI。在.net平臺下,你有很多的選擇
WebAPI與傳統(tǒng)的WebService有哪些不同?
在.net平臺下,有大量的技術(shù)讓你修改一個HTTP服務(wù)什么,像WebService,WCF,現(xiàn)在又出了WebAPI。在.net平臺下,你有很多的選擇來構(gòu)建體系一個HTTPServices。我多多分享幫一下忙我對WebService、WCF以及WebAPI的看法。WebService
1、它是基于SOAP協(xié)議的,數(shù)據(jù)格式是XML
2、只意見HTTP協(xié)議
3、它不是什么開源的,但是可以被正二十邊形一個清楚XML的人使用
4、它不能重新部署在IIS上WCF1、這個又是基于組件SOAP的,數(shù)據(jù)格式是XML2、這個是WebService(ASMX)的進(jìn)化版,是可以意見各種各樣的協(xié)議,像TCP,HTTP,HTTPS,NamedPipes,MSMQ.3、WCF的主要問題是,它配置下來不光的繁瑣4、它不是開源的,但是可以被任意一個所了解XML的人使用
5、它可以不布署應(yīng)用程序中或則IIS上或是Windows服務(wù)中WCFRest1、想建議使用WCFRestservice,你可以在WCF中建議使用webHttpBindings2、它四個用[WebGet]和[WebInvoke]屬性,實(shí)現(xiàn)程序了HTTP的GET和POST動詞3、要想不使用其他的HTTP動詞,你必須在IIS中做一些配置,使.svc文件可以給予這些動詞的請求4、使用WebGet按照參數(shù)傳輸數(shù)據(jù),也需要配置。而且必須指定你UriTemplate5、它接受XML、JSON在內(nèi)ATOM這些數(shù)據(jù)格式WebAPI1、這是一個簡單點(diǎn)統(tǒng)合HTTP你服務(wù)的新框架2、在.net平臺上WebAPI是一個開源的、理想的、構(gòu)建體系REST-duh服務(wù)的技術(shù)3、不像WCFRESTService.它可以不使用HTTP的全部特點(diǎn)(例如URIs、request/response頭,緩存,版本控制,多種內(nèi)容格式)4、它也支持什么MVC的特征,像路由、控制器、action、filter、模型帳號綁定、控制反轉(zhuǎn)(IOC)或依賴注入(DI),單元測試。這些可以不使程序更簡單點(diǎn)、更健碩5、它可以布署在應(yīng)用程序和IIS上
6、這是一個輕量級的框架,而且對限制帶寬的設(shè)備,比如智能手機(jī)等支持什么的挺好的
7、Response這個可以被WebAPI的MediaTypeFormatter轉(zhuǎn)換成成Json、XML也可以任何你想轉(zhuǎn)換的的格式。WCF和WEBAPI我該中,選擇哪個?1、當(dāng)你想創(chuàng)建戰(zhàn)隊一個支持什么消息、消息隊列、雙工通信的服務(wù)時,你應(yīng)該要你選WCF2、當(dāng)你想創(chuàng)建角色一個服務(wù),可以用更迅速的傳輸通道時,像TCP、NamedPipes或是甚至于是UDP(在WCF4.5中),在其他傳輸通道決不可是用時候也也可以意見HTTP。3、當(dāng)你想修改一個基于組件HTTP的面向資源的服務(wù)而且可以不使用HTTP的全部特征時(例如URIs、request/response頭,緩存,版本控制,多種內(nèi)容格式),你應(yīng)該要你選擇WebAPI4、當(dāng)你想讓你的服務(wù)主要用于瀏覽器、手機(jī)、iPhone和平板電腦時,你估計選擇WebAPI
webapi2如何攔截html?
分兩種情況:1、跪請未路由到控制器action前的截住,用從DelegatingHandler派生的類,重新寫過基類方法SendAsync實(shí)現(xiàn)封鎖一次性處理,后再先添加WebApiConfig配置一般2、各位已路由到控制器action后的追蹤,用從ActionFilterAttribute派生的類另外特性標(biāo)識控制器的方法,格式化處理基類方法OnActionExecuting實(shí)現(xiàn)方法追蹤全面處理