{"id":463,"date":"2007-08-20T19:23:00","date_gmt":"2007-08-20T19:23:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/andrewarnottms\/2007\/08\/20\/the-wcf-subset-supported-by-netcf\/"},"modified":"2019-04-03T22:45:31","modified_gmt":"2019-04-04T05:45:31","slug":"the-wcf-subset-supported-by-netcf","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/the-wcf-subset-supported-by-netcf\/","title":{"rendered":"The WCF subset supported by NetCF"},"content":{"rendered":"<p>[Updated: 21Nov07 to clarify that custom headers are supported, but not in NetCFSvcUtil proxy generation]   <br>[Updated: 27Aug07 to correct Gzip sample, and clarify on transports &amp; extensibility]    <br>[Updated: 23Aug07 to add SecurityAlgorithmSuite enumerable]<\/p>\n<p>Many people have been asking about what subset of .NET 3.0&#8217;s Windows Communication Foundation (WCF) will be supported by the .NET Compact Framework 3.5.&nbsp; Well, here is a table I put together with the answer to that question:<\/p>\n<table class=\"\" cellspacing=\"4\">\n<tbody>\n<tr>\n<td class=\"\" valign=\"top\">\n<p align=\"center\"><strong>Feature<\/strong><\/p>\n<\/td>\n<td class=\"\" valign=\"top\">\n<p align=\"center\"><strong>Desktop WCF<\/strong><\/p>\n<\/td>\n<td class=\"\" valign=\"top\">\n<p align=\"center\"><strong>Compact WCF<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Bindings:<\/strong><\/td>\n<td class=\"\">&nbsp;<\/td>\n<td class=\"\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; BasicHttpBinding<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; CustomBinding<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; WindowsMobileMailBinding<\/td>\n<td class=\"\" align=\"center\">N\/A<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; ExchangeWebServiceMailBinding<\/td>\n<td class=\"\" align=\"center\">Yes, via NetCF install<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Formatters:<\/strong><\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; SoapFormatter<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; BinaryFormatter<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Encoders:<\/strong><\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; TextMessageEncoder<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; BinaryMessageEncodingBindingElement<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; MTOMEncoder<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; GzipEncoder<\/td>\n<td class=\"\" align=\"center\">Sample available<\/td>\n<td class=\"\" align=\"center\">Sample available<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Transports:<\/strong><\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; HttpTransportBindingElement<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; HttpsTransportBindingElement<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; MailTransportBindingElement<\/td>\n<td class=\"\" align=\"center\">Yes, via NetCF install<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; MsmqTransportBindingElement<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; TcpTransportBindingElement<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; (other transports)<\/td>\n<td class=\"\" align=\"center\"> Yes<\/td>\n<td class=\"\" align=\"center\">No <\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>XmlDictionaryReader\/Writer<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes; stub around XmlTextReader\/Writer<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>DataContractSerializer<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No; but can be wire-compatible with DCS via XmlSerializer<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Service proxy generation<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes; via SvcUtil.exe<\/td>\n<td class=\"\" align=\"center\">Yes; via NetCFSvcUtil.exe, not integrated into VS2008<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Non-HTTP transports in generated proxies<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Not built-in<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Custom headers in generated proxies<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Not built-in<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>WS-Addressing<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>WS-Security message level security<\/strong><\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; X.509<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Username\/password<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; SecurityAlgorithmSuite.Basic256Rsa15<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; SecurityAlgorithmSuite.Basic256<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>WS-ReliableMessaging<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Patterns<\/strong><\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<td class=\"\" align=\"center\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Service model<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Message layer programming<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Buffered messages<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Streaming messages<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\">&middot; Endpoint descriptions in .config files<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Channel extensibility<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"\"><strong>Security channel extensibility<\/strong><\/td>\n<td class=\"\" align=\"center\">Yes<\/td>\n<td class=\"\" align=\"center\">No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>[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 &amp; extensibility] [Updated: 23Aug07 to add SecurityAlgorithmSuite enumerable] Many people have been asking about what subset of .NET 3.0&#8217;s Windows Communication Foundation (WCF) will be supported by the .NET Compact [&hellip;]<\/p>\n","protected":false},"author":2685,"featured_media":37840,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[4617,3917,3918,383],"class_list":["post-463","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-permierdev","tag-andarno","tag-mobile-devices","tag-netcf","tag-wcf"],"acf":[],"blog_post_summary":"<p>[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 &amp; extensibility] [Updated: 23Aug07 to add SecurityAlgorithmSuite enumerable] Many people have been asking about what subset of .NET 3.0&#8217;s Windows Communication Foundation (WCF) will be supported by the .NET Compact [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/2685"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=463"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/37840"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}