.NET Framework 精简版不包括的功能
Microsot 已经对 .NET Framework 进行了一些重大的删减,使它能够适应 Windows CE 的操作限制。下面将介绍 .NET Framework 中包括而 .NET Framework 精简版中不包括的某些重要功能。
方法重载
重载方法即通过其他方式调用该方法,但它同时也增加了 .NET Framework 的大小。因此,.NET Framework 精简版几乎删除了所有方法的重载。
这有两层含义。第一,开发基于 .NET Framework 精简版的应用程序时,您很有可能会发现以前用于桌面应用程序的某个方法重载在 .NET Framework 精简版中却找不到。第二,当您阅读 .NET Framework 精简版文档时,要特别注意它是否支持某种方法。
缺少的控件
.NET Framework 的很多控件都没有包括在 .NET Framework 精简版中。对于移动开发人员来说,缺少这些控件并没有太大的影响。由于打印功能在移动应用程序中的作用非常有限,因此删除与打印有关的所有控件都不会有什么问题。这些控件包括 CrystalReportViewer、PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl 和 PrintPreviewDialog。缺少的这些对话框几乎都可以用您自己的对话框替代,或者使用 Windows CE API 直接访问系统对话框。
可以用第三方控件替代 .NET Framework 精简版中缺少的控件。有关第三方 .NET Framework 精简版控件的列表,请参阅本文结尾处的参考信息。
XML 功能
.NET Framework 精简版也对其提供的 XML 功能作了同样的删减。缺少的主要 XML 组件是 System.Xml.XPath 命名空间。使用 XPath 命名空间进行 XML 分析比使用 .NET Framework 精简版提供的方法要容易得多。如果缺少 XPath 命名空间,则可以结合使用递归和迭代方法对文档对象模型 (DOM) 进行搜索。
.NET Framework 精简版缺少的另一个主要 XML 组件是可扩展样式表语言转换 (XSLT)。使用 XSLT,您可以将 XML 文档转换为不同的格式。
对于 XML 需要说明一点,.NET Framework 精简版目前不支持开发基于设备的 XML Web Service。
数据库支持
.NET Framework 精简版提供许多与数据有关的工具。为 SQL Server CE 提供本地数据库支持。在服务器端,.NET Framework 精简版支持 SQL Server。
请注意,有一家第三方供应商也提供用于 Pocket Access 数据库的 .NET Framework 精简版组件。有关详细信息,请参阅本文结尾处的参考信息。
二进制序列化
出于规模和性能方面的考虑,.NET Framework 精简版中删除了 BinaryFormatter 和 SoapFormatter 类。
访问 Windows 注册表
.NET Framework 包含 Microsoft.Win32.Registry 命名空间,因此很容易在应用程序中处理 Windows 注册表。很显然,这个命名空间并未包括在 .NET Framework 精简版中,因为它与 Win32 有关,而与 Windows CE 无关。您可以通过调用相应的 Windows API 来访问 Windows CE 注册表。
利用 COM 组件
将 COM 对象集成到基于 .NET Framework 精简版的应用程序中需要执行两个步骤。首先,必须编写能提供 COM 对象的非托管 DLL 包装(即使用 eMbedded Visual C++)。此步骤可繁可简,具体情况取决于 COM 对象的复杂程度。其次,必须使用 PInvoke 访问 DLL 包装。幸运的是,开发小组已经开始着手开发常用的 COM 组件了,本文结尾处的参考信息中列出了一些组件。
安全性
.NET Framework 精简版不能确保访问非托管代码时的安全性。任何应用程序都可以调用任何系统 API 或非系统 API。
目前,.NET Framework 精简版不能提供基于角色的安全性。当事人对象无法识别已知标识或已知角色。
XML Web Service
.NET Framework 精简版 XML Web Service 缺少的最主要的是使用 Cookie 的功能。Cookies 广泛用于在客户端的各个调用之间在服务器上保留该客户端的状态。虽然 Cookie 在 Web 服务中的使用并不象在 Web 站点上那么普遍,但是仍在使用。
.NET Framework 精简版只能对 Web 服务提供有限的加密能力。
打印
.NET Framework 精简版不支持打印。通过 IR 很难与网络打印机或外部打印机进行交互。
要访问网络打印机,需要创建一个基于服务器的应用程序,它能够接受并打印移动应用程序提交的作业。
可以通过 IR 端口直接将输出发送到支持 IR 的打印机上。可以使用 System.Net.IrDA 命名空间来访问移动设备的 IR 端口。
GDI+
Windows CE 本身并不支持 GDI+,因此 .NET Framework 精简版删除了与 GDI+ 相关的功能。
远程处理
.NET Framework 精简版的第一个版本不支持远程处理。