The WCF subset supported by NetCF

Published 21 August 07 12:23 AM | andarno 

[Updated: 21Nov07 to clarify that custom headers are supported, but not in NetCFSvcUtil proxy generation]
[Updated: 27Aug07 to correct Gzip sample, and clarify on transports & extensibility]
[Updated: 23Aug07 to add SecurityAlgorithmSuite enumerable]

Many people have been asking about what subset of .NET 3.0's Windows Communication Foundation (WCF) will be supported by the .NET Compact Framework 3.5.  Well, here is a table I put together with the answer to that question:

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 in generated proxies Yes Not built-in
· Custom headers in generated proxies Yes Not built-in
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
Filed under: , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Martin Bohring said on August 21, 2007 7:54 AM:

No custom headers ?

This is a major bummer.

We just completed an app where we use custom

headers to track component state, end user language

settings (according to a WS spec I can't remember right now) and some other app specific meta info, we

don't want to transfer as parameters.

This is realized via the extension hooks WCF Desktop provides.

We already foresee a port to a platform for embedded devices (either CE or more likely .NET Micro Framework). The Desktop WCF3.0 based app runs under XPE.

If the Compact Framework 3.5 already contains such a stripped down version of WCF, I can only imagine what's left if it comes to the .NET Micro Framework

# Jackie Goldstein's Weblog (In Israel) said on August 24, 2007 8:53 AM:

If you are developing mobile apps and want to know what aspects of WCF will be support by NetCF 3.5,

# Community Blogs said on August 24, 2007 3:43 PM:

If you are developing mobile apps and want to know what aspects of WCF will be support by NetCF 3.5,

# BlackTiger said on August 26, 2007 3:43 AM:

Any working samples?

# chadbr said on August 28, 2007 12:53 AM:

For what it’s worth…

It sure would be nice if the CF supported WCF binary serialization (and plain binary serialization!)

Doing XML on a small device just doesn't make sense from a processing and memory perspective. Our development efforts are constantly hampered by this limitation.

Here’s hoping to see it “fixed” in 4.x.

# David Kline said on September 7, 2007 5:30 PM:

Last month, Andrew Arnott posted a very handy table that compares the Windows Communication Foundation

# 黎波 said on September 8, 2007 12:07 PM:

本文介绍了 .NET Compact Framework 3.5 对 Windows Communication Foundation 的支持,并简单比较了它跟 .NET Framework 3.5 版的功能差异。

# Dan Horbatt's Blog said on September 12, 2007 7:26 PM:

Due to size constraints, only a subset of WCF features were ported over, including ServiceContract support.

# Noticias externas said on September 12, 2007 7:57 PM:

Due to size constraints, only a subset of WCF features were ported over, excluding ServiceContract support

# Jose María Villagrá said on September 13, 2007 3:47 AM:

Ups, no username/password on WS-Security message level security?? Ups... that's a big problem for me....  we have an API thats implementes username/password based on our Custom Providers.

If we dont have this option in WCF in NETCF, how can we do it? Any idea?

Thanks

# Benk said on September 26, 2007 2:41 AM:

I still think the mail transport is a very dubious decision ...  Especially when there are so many critical things left out

Binary formatter

USerName/ Password

Callbacks and services...

Proxy generation..

Reliable messaging..

What additional value does 3.5 give us over 2.0 eg we alreally got over running basic binding over https. Compression ?  DO we have 1/2 meg of dlls for mail channels and client WS-addresing support when devices and the certificante may get lost ..

Thanks for the writeup however...

# Miguel Madero said on September 28, 2007 12:27 AM:

I dont know why WS-ReliableMessaging is not including, I thinks that one in particular is really needed and it's also easy to implement.

# Miguel Madero said on September 28, 2007 12:27 AM:

I dont know why WS-ReliableMessaging is not included, I thinks that one in particular is really needed and it's also easy to implement.

# Ruslan Trifonov's blog said on September 30, 2007 5:59 AM:

I was too busy lately in order to blog and read blogs(never do this at home). I had to "read"

# andarno said on November 22, 2007 1:00 AM:

I'm sorry for the confusion in the table.  NetCF's version of WCF _does_ support custom headers.  It is merely the automated service proxy generation tool (NetCFSvcUtil) that does not support custom headers.  You're free to use the Compact WCF's message pipe to send/receive messages with any custom headers you want.

# Abraham said on December 12, 2007 4:49 PM:

SoapFormatter is not supported in Compact WCF

# bob said on December 19, 2007 1:15 AM:

I agree with Benk.

Not having the following is a big disappoint to me.

Binary formatter -- xml serialization is slow and pocket devices don't have much MHz to spear.

UserName/ Password -- needed in an enterprise system.

Reliable messaging -- pocket devices are always on bad networks e.g.  mobile phone network / wifi etc....

# Alexander Philippou said on February 7, 2008 4:58 AM:

You can use Fast Infoset as binary formatter on both .NET and .NET CF. It's more compact, faster to process, standards-based  and cross-platform interoperable. More info at http://www.noemax.com/products/wcfx/

# Dan C said on February 26, 2008 11:19 AM:

Where can I find the GzipEncoder samples?

# mobile phone deals said on March 24, 2008 8:13 PM:

I've tried binary serialization but my mobile phone device is grinding to an halt!

Leave a Comment

(required) 
(optional)
(required) 

Search

Go

This Blog

Interesting blogs

Related sites

Syndication

Page view tracker