更新:2007 年 11 月
.NET Compact Framework 中实现的 Windows Communication Foundation (WCF) 的子集为构建面向消息的应用程序提供了一个统一的编程模型。借助这一模型,开发人员可以构建既能跨平台运行,又支持与桌面上现有的 WCF 服务交互的安全消息处理应用程序。
说明: |
|---|
.NET Compact Framework 3.5 版 及更高版本都支持 WCF。 |
.NET Compact Framework 的 WCF 消息处理层是基于标准桌面 WCF 体系结构建模的。该消息处理层受设备支持,并可使设备连接到桌面上现有的 WCF 服务。设备上不存在服务运行时层。
下面的插图显示了信道堆栈、关联的协议以及 WCF 绑定元素。
.NET Compact Framework 中的 WCF 消息处理层
.png)
对 WS-Security 规范 1.0 版的支持包括使用 X.509 证书的 SOAP 邮件安全性。
Message 类基于 WS-Addressing 标准构建。
.NET Compact Framework 并不支持桌面上支持的整套协议和绑定。有关支持的特定协议和绑定的更多信息,请参见上一节中的体系结构关系图。
.NET Compact Framework 上不支持服务运行时层。因此,如果希望连接到桌面上现有的 WCF 服务,应注意下列事项:
此外,还支持整个 .NET Framework 中的 WCF 消息处理类型和成员的子集。
下一节介绍特定于 WCF 安全功能的差异。
.NET Compact Framework 中的 WCF 消息处理支持 SOAP 消息安全性,后者基于 X.509 证书,并对应于 WS-Security 功能的一个子集。WS-Security 是一个应用层,可以放置在任何受支持的传输层之上。WCF 消息传递中支持的安全绑定元素为 SecurityBindingElement 和 AsymmetricSecurityBindingElement。若要实现安全功能,必须将 ClientCredentials 对象内的 X.509 证书作为参数传入 WCF 客户端代理的构造函数。
此外,.NET Compact Framework 中还支持 WCF 的传输级安全性。这包括对 HttpsTransportBindingElement 和 BasicHttpSecurity 的支持。
与桌面上的 WCF 安全性实现相比,.NET Compact Framework 中的该实现在以下方面有所不同:
说明: |
|---|
在延长的夏时制期间,如果启用了默认的时间戳验证期限(5 分钟),使用消息安全性的传出消息将因为时间戳验证错误而失败。延长的夏时制处于 3 月的第二个星期日与 4 月的第一个星期日之间,以及 10 月的最后一个星期日与 11 月的第一个星期日之间。若要解决此问题,请安装夏时制 (DST) 2007 更新。如果设备运行的是 Windows Mobile 5.0(内部版本号为 15096.3.0)及其更高版本或 Windows Mobile 6.0 及其更高版本,则不适用此操作。 |
WCF 消息处理 DLL 用 .NET Compact Framework CAB 文件提供。托管程序集安装在全局程序集缓存中。
设备的 WCF 消息处理 DLL 包括:
此部署过程还包括对 WCF Exchange Server 邮件传输的部署。有关设备部署和桌面部署的更多信息,请参见 WCF Exchange Server 邮件传输。
桌面 .NET Framework 上的 WCF 支持三种日志记录:跟踪、消息处理和事件日志记录。.NET Compact Framework 上的 WCF 只支持跟踪日志记录来跟踪代码异常,但它不记录警告和错误消息。注册表项用于配置日志记录。
若要记录 WCF 信息,必须先为 .NET Compact Framework 启用日志记录。有关如何启用日志记录以及如何启用 WCF 跟踪日志的更多信息,请参见如何:创建日志文件。
概念
其他资源