| 技術 | 定位 |
|---|---|
| ASP.NET Web Service (ASMX) | 早期 .NET 實作 SOAP/Web 服務標準,透過 HTTP + XML 序列化 |
| WCF (Windows Communication Foundation) | 統一通訊框架,整合 ASMX、Remoting、Enterprise Services、WSE、MSMQ |
無論傳輸協定 (HTTP/TCP/Pipe/MSMQ)、訊息格式 (Text/Binary/MTOM/JSON)、安全模式、裝載方式 (IIS/WAS/Self-host/Windows Service),皆使用相同的 ServiceContract/DataContract 開發體驗。
| 層面 | 支援 |
|---|---|
| 傳輸安全 | HTTPS (SSL/TLS)、Windows 認證、憑證 |
| 訊息安全 | WS-Security、SAML、Kerberos、X.509、UserNameToken |
| 可靠傳輸 | WS-ReliableMessaging (端對端保證) |
| 交易 | WS-AtomicTransaction (兩階段提交) |
安裝 WCF 不影響既有 ASMX/Remoting;WCF 服務可直接與 ASMX 客戶端互呼叫。
| 特性 | ASMX | WCF |
|---|---|---|
| 傳輸協定 | 僅 HTTP/HTTPS | HTTP、TCP、Named Pipe、MSMQ、P2P、Custom |
| 訊息編碼 | XML (Text) | Text、Binary、MTOM、JSON、Custom |
| 序列化 | XmlSerializer | DataContractSerializer (預設)、XmlSerializer、JSON |
| 裝載模式 | 僅 IIS | IIS、WAS、Self-host、Windows Service、COM+ |
| 會話/實例模式 | 無內建 | PerCall、PerSession、Singleton |
| 並發模式 | 無 | Single、Multiple、Reentrant |
| REST 支援 | 無 (需手工) | WebHttpBinding + WebGet/WebInvoke |
| 雙工通訊 | 不支援 | WSDualHttpBinding、NetTcpBinding |
basicHttpBinding (相容 ASMX) 與 netTcpBinding (高效能內部)。WCF 是微軟分布式技術的大成者,掌握其 ABC (Address/Binding/Contract) 核心概念,即能靈活應對各種企業級整合情境。