原創|其它|編輯:郝浩|2009-07-29 14:29:39.000|閱讀 678 次
概述:本文介紹ASP.NET中WCF服務與ASMX服務的兼容性,在ASP.NET應用程序中,目前主要存在兩種軟件技術可以用來構建服務,即ASMX Web服務和WCF服務。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
當為ASP.NET AJAX程序創建一個新的WCF服務時,默認情況下該服務類前面使用AspNetCompatibilityRequirements屬性進行修飾?,F在,我們來作一下簡要分析。
[ServiceContract]
[AspNetCompatibilityRequirements(
RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class TimeService
{
……
}
雖然在設計上可以進行獨立傳輸,但當應用于一個ASP.NET AJAX應用程序環境下時,WCF服務實際上可以工作在一種十分類似于ASMX服務的方式下。借助于這個AspNetCompatibilityRequirements屬性,我們可以指示WCF使用與ASMX服務相同的模型進行工作。實際情況下,這個設置指示當激活一個WCF服務時,運行時刻將對聲明的端點進行檢查并確保它們都使用了Web HTTP綁定模型。
與ASMX服務的良好兼容性可以使得在WCF服務中訪問ASP.NET對象例如HttpContext對象以及其它內在的ASP.NET對象完全有可能。
注意,要實現WCF服務與ASMX服務的兼容性至少要實現兩點。第一,在配置文件web.config中,需要進行類似如下的聲明式定義:
<system.serviceModel>
:
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</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服務的兼容性。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:IT專家網