ASP.NET中WCF服務與ASMX服務的相容性)

來源:互聯網
上載者:User

http://webservices.ctocio.com.cn/net/387/9034887.shtml

本文介紹ASP.NET中WCF服務與ASMX服務的相容性,在ASP.NET應用程式中,目前主要存在兩種軟體技術可以用來構建服務,即ASMX Web服務和WCF服務。

 

  WCF服務與ASMX服務的相容性

  根據前面的操作得知,當為ASP.NET AJAX程式建立一個新的WCF服務時,預設情況下該服務類前面使用AspNetCompatibilityRequirements屬性進行修飾。現在,我們來作一下簡要分析。

 

  1. [ServiceContract]  
  2. [AspNetCompatibilityRequirements(  
  3. RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]  
  4. public class TimeService  
  5. {  
  6. ……  
  7. }  

  雖然在設計上可以進行獨立傳輸,但當應用於一個ASP.NET AJAX應用程式環境下時,WCF服務實際上可以工作在一種十分類似於ASMX服務的方式下。藉助於這個 AspNetCompatibilityRequirements屬性,我們可以指示WCF使用與ASMX服務相同的模型進行工作。實際情況下,這個設定 指示當啟用一個WCF服務時,運行時刻將對聲明的端點進行檢查並確保它們都使用了Web HTTP綁定模型。

  與ASMX服務的良好相容性可以使得在WCF服務中訪問ASP.NET對象例如HttpContext對象以及其它內在的ASP.NET對象完全有可能。

  注意,要實現WCF服務與ASMX服務的相容性至少要實現兩點。第一,在設定檔web.config中,需要進行類似如下的聲明式定義:

 

  1. <system.serviceModel> 
  2. :  
  3. <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
  4. </system.serviceModel> 

  第二,開發人員需要顯式地選擇一個給定WCF服務的相容性方式,這是通過使用服務AspNetCompatibilityRequirements屬性完成的。

  在ASP.NET AJAX應用程式中請求的服務需求必須進行相應的伺服器端配置。歸納看來,在ASP.NET應用程式中,目前主要存在兩種軟體技術可以用來構建服務,即 ASMX Web服務和WCF服務。其中,WCF服務已經包括了ASMX Web服務。但是,必須明確:AJAX通訊要求使用JSON資料字串實現資料在用戶端與伺服器的來回傳輸。在ASP.NET AJAX擴充1.0時代或者在ASP.NET 3.5中調整ASP.NET運行時刻使ASMX Web服務支援JSON是一項比較容易的任務。但是,針對更為豐富的WCF服務需求實現JSON資料格式的傳輸則要略微複雜一些。這也正是為什麼僅僅在 ASP.NET 3.5中才可以使用WCF構建AJAX後端服務的原因。 以上介紹WCF服務與ASMX服務的相容性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.