LightSwitch 的高级开发场景

  • Jonathan Allen
  • 朱永光

2010 年 9 月 20 日

话题:.NET语言 & 开发

LightSwitch 把大量的技术融合在了一起,包括 Silverlight、托管扩展框架(Managed Extensibility Framework,MEF)和 WCF RIA Services。如果 LightSwitch 变得流行起来,那么通晓这些技术的开发人员将比那些只会使用设计器简单组合下界面的人们具有明显的优势。

LightSwitch,是微软针对轻量级 CRUD 风格应用程序的一种回应,它于最近发布,包含了两方面的内容。一个是LightSwitch Beta 1,以及相对应的培训包。我们之前已经报道过它的核心功能了,其能够快速地创建使用了大量后台技术的简单业务应用程序。如今,我们来看看它的高级特性。

培训包涉及的第一个场景是构建自定义控件。在使用 WPF 或 Silverlight 进行普通编程时,创建自定义控件或多或少是你需要完成的事情。而在 LightSwitch 中,它们会大量使用到。实际上,你会拥有两类开发人员,一些把这些控件简单组合在一起,一些来定义这些控件。

为 LightSwitch 创建控件完全不那么容易,一个新控件就需要 5 个项目。第一个是控件本身,即“Client”项目,它基于 Silverlight 运行时来开发码。还需要一个配对的“Common”项目,也是 Silverlight 项目,它包含了这个控件的元数据。接着要创建“Designer”项目,它供 Visual Studio 中的界面设计器所使用。由于这个代码是直接在 Visual Studio 中运行,所以必须为 CLR 4 的项目。这些项目存在的部分原因是,你需要把相关的代码挂接到由 MEF 所暴露出来的相应扩展点上。

一旦所有代码准备妥当,你还需要对控件打包。有两个打包项目,一个是针对 LightSwitch 的,而另外一个是普通的 VSIX 项目。不知你是否记得,这就是任何 Visual Studio 扩展的打包格式。为了测试你的控件库,必须安装这个 VSIX 包,此时你才能开始在 LightSwich 应用程序中使用新控件。

第二个“高级”场景实在有所不该。LightSwich 需要通过 WCF RIA Services 来访问非 SQL 数据源。这就需要构建一些普通的 RIA 服务,并把客户端访问的功能关闭,以便只有 LightSwitch 应用程序能访问它。诸如初始化、提交、查询、插入、更新和删除这样的普通 RIA 操作也是必要的。而构建 RIA 服务比看上去要困难的多,不过至少不用担心 VSIX 打包的问题。

一个提醒:这个培训包不会自己安装到普通的位置,如 Program Files 和 Start Menu 中。所以,如果你在后面找不到安装目录,可以查找一下名为“LightSwitchTK”的文件夹。在我的测试机器上,这个文件夹被安装到了根目录中。

查看英文原文:Advanced Scenarios for LightSwitch

.NET语言 & 开发