Σήμερα, χρειάστηκε να αναζητήσω πληροφορίες για το υποσύνολο του WCF που υποστηρίζεται από το .NET Compact Framework 3.5. Βρήκα μια λίστα εδώ την οποία και αναγράφω στο τέλος αυτού του blog post.
Για τα καινούρια bindings του .ΝΕΤ 3.5 (όπως π.χ. το WSHttpContextBinding) ούτε καν γίνεται λόγος, οπότε φαντάζομαι ότι δεν θα υποστηρίζονται. Οπότε, ξεχνάμε CF clients για Workflow Services
Επιπροσθέτως, για δημιουργία proxy κλάσεων για WCF θα χρειαστείτε το εργαλείο NetCFSvcUtil.exe, το οποίο μπορείτε να το βρείτε άμα κατεβάσετε τα Power Toys for .NET Compact Framework 3.5. Μαζί με αυτό θα βρείτε και διάφορα άλλα καλούδια για Compact Framework development, όπως έναν CF CLR profiler (παρόμοιο με τον desktop CLR profiler), τον NETCF Network Log Viewer κ.α.
Δυστυχώς, στη δικιά μου περίπτωση (services με WSHttpBinding) δεν τα κατάφερα, αφού το μήνυμα Error: .NET Compact Framework does not support any bindings offered by this serv ice. WSHttpBinding_IRadiology: .NET Compact Framework does not support the binding type 'System.ServiceModel.WSHttpBinding'. μόνο ευχάριστο δεν είναι, οπότε θα ακολουθήσω την εναλλακτική, να σηκώσω μαζί με τα WCF services και κάποια deprecated .asmx.
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 |