当前位置: 首页 > news >正文

.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:
· BasicHttpBindingYesYes
· CustomBindingYesYes
· WindowsMobileMailBindingN/AYes
· ExchangeWebServiceMailBindingYes, via NetCF installYes
Formatters:
· SoapFormatterYesYes
· BinaryFormatterYesNo
Encoders:
· TextMessageEncoderYesYes
· BinaryMessageEncodingBindingElementYesNo
· MTOMEncoderYesNo
· GzipEncoderSample availableSample available
Transports:
· HttpTransportBindingElementYesYes
· HttpsTransportBindingElementYesYes
· MailTransportBindingElementYes, via NetCF installYes
· MsmqTransportBindingElementYesNo
· TcpTransportBindingElementYesNo
· (other transports)YesNo
XmlDictionaryReader/WriterYesYes; stub around XmlTextReader/Writer
DataContractSerializerYesNo; but can be wire-compatible with DCS via XmlSerializer
Service proxy generationYes; via SvcUtil.exeYes; via NetCFSvcUtil.exe, not integrated into VS2008
· Non-HTTP transportsYesNo
· Custom headersYesNo
WS-AddressingYesYes
WS-Security message level security
· X.509YesYes
· Username/passwordYesNo
· SecurityAlgorithmSuite.Basic256Rsa15YesYes
· SecurityAlgorithmSuite.Basic256YesNo
WS-ReliableMessagingYesNo
Patterns
· Service modelYesNo
· Message layer programmingYesYes
· Buffered messagesYesYes
· Streaming messagesYesNo
· Endpoint descriptions in .config filesYesNo
Channel extensibilityYesYes
Security channel extensibilityYesNo

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

相关文章:

  • 汇编基础
  • 记得那份好
  • Java8 之 新的时间日期 API
  • C 语言从回忆到重识 -- 0 回忆
  • 教师节感言
  • 使用设备安全管理器配置设备安全策略
  • C 语言从回忆到重识 -- 1基础知识
  • 祝福(上)
  • C 语言从回忆到重识 -- 2 进阶知识之函数、数组与指针
  • 关于MS SQL 2005和C#远程连接的详细设置
  • C 语言从回忆到重识 -- 附录
  • C# 3.0语言规范
  • 使用CLion调试redis源码
  • C# 3.0 入门系列(一)
  • C 与 多线程(1)
  • 2018一半小结一波
  • Android组件 - 收藏集 - 掘金
  • CentOS从零开始部署Nodejs项目
  • css布局,左右固定中间自适应实现
  • Flex布局到底解决了什么问题
  • Javascript Math对象和Date对象常用方法详解
  • js 实现textarea输入字数提示
  • Linux链接文件
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • mysql外键的使用
  • PAT A1017 优先队列
  • redis学习笔记(三):列表、集合、有序集合
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 如何解决微信端直接跳WAP端
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 小程序01:wepy框架整合iview webapp UI
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 整理一些计算机基础知识!
  • ​力扣解法汇总946-验证栈序列
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #include
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (2022 CVPR) Unbiased Teacher v2
  • (转)详解PHP处理密码的几种方式
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET/C# 的字符串暂存池
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .Net组件程序设计之线程、并发管理(一)
  • .sdf和.msp文件读取
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • ??在JSP中,java和JavaScript如何交互?
  • @Controller和@RestController的区别?
  • @Pointcut 使用