.NET Compact Framework 3.5 支持 WCF 的子集

.NET Compact Framework 3.5 已经支持 Windows Communication Foundation (WCF)了,这是 .NET CF 3.5 最让人兴奋的特性之一。不过,.NET CF 版的 WCF 是 .NET Framework 3.5 版 WCF 的功能子集。MSDN Library for Visual Studio 2008 Beta 2 (Development Tools and Languages|Visual Studio|.NET Framework Programming in Visual Studio|.NET Compact Framework|Application Development|Windows Communication Foundation (WCF) Development|Messaging in the .NET Compact Framework) 中是这样描述的:

The subset of Windows Communication Foundation (WCF) that is implemented in the .NET Compact Framework provides a unified programming model for building message-oriented applications. It enables developers to build secure messaging applications that work across platforms and that support interaction with existing WCF services on the desktop.
(译文:.NET 精简框架实现了 WCF 的子集,为构建面向消息的应用程序提供了统一的编程模型。这使得开发人员能够构建跨平台的安全的消息应用程序,并且支持跟现有的运行在桌面平台的 WCF 服务交互。)

WCF messaging layer on the .NET Compact Framework

Support for the WS-Security version 1.0 specification includes SOAP message security using X.509 certificates. The Message class is built on the WS-Addressing standard.

MSDN Library for Visual Studio 2008 Beta 2 对 Compact WCF 与 Desktop WCF 之间的差异描述得不够详尽,只是简单描述了一下架构和安全方面的不同。

今天发现有人整理了一个比较详细的表格,供大家参考:

Feature

Desktop WCF

Compact WCF

Bindings:    
· BasicHttpBinding Yes Yes
· CustomBinding Yes Yes
· WindowsMobileMailBinding N/A Yes
· ExchangeWebServiceMailBinding Yes, via NetCF install Yes
Formatters:    
· SoapFormatter Yes Yes
· BinaryFormatter Yes No
Encoders:    
· TextMessageEncoder Yes Yes
· BinaryMessageEncodingBindingElement Yes No
· MTOMEncoder Yes No
· GzipEncoder Sample available Sample available
Transports:    
· HttpTransportBindingElement Yes Yes
· HttpsTransportBindingElement Yes Yes
· MailTransportBindingElement Yes, via NetCF install Yes
· MsmqTransportBindingElement Yes No
· TcpTransportBindingElement Yes No
· (other transports)  Yes No 
XmlDictionaryReader/Writer Yes Yes; stub around XmlTextReader/Writer
DataContractSerializer Yes No; but can be wire-compatible with DCS via XmlSerializer
Service proxy generation Yes; via SvcUtil.exe Yes; via NetCFSvcUtil.exe, not integrated into VS2008
· Non-HTTP transports Yes No
· Custom headers Yes No
WS-Addressing Yes Yes
WS-Security message level security    
· X.509 Yes Yes
· Username/password Yes No
· SecurityAlgorithmSuite.Basic256Rsa15 Yes Yes
· SecurityAlgorithmSuite.Basic256 Yes No
WS-ReliableMessaging Yes No
Patterns    
· Service model Yes No
· Message layer programming Yes Yes
· Buffered messages Yes Yes
· Streaming messages Yes No
· Endpoint descriptions in .config files Yes No
Channel extensibility Yes Yes
Security channel extensibility Yes No

其中 Mail Binding 是很有意思的一个特性,我以前的随笔有提过。不过这个功能需要跟 Exchange Server 配合使用,有一定的局限性。WCF Exchange Server Mail Transport 使用方法可以参考 MSDN 文档。

posted @ 2007-09-09 00:07  黎波  阅读(2173)  评论(2编辑  收藏  举报