前 言 近年来,为了增强网站最终用户的用户体验出现了各种各样的编程技术和方法。从最开始的HTML静态内容页面到通过类似ASP.NET的技术推动形成的动态页面。有了动态页面这一技术,开发人员终于可以真正地开发在线应用程序;很快,在AJAX等技术的进一步推动下,业务应用程序从桌面转移到了网络。然而,这些已有技术的通病是它们均需依赖于与浏览器相关的JavaScript代码。常常会出现这样的情况:在一个浏览器上运行得很好的页面,则在使用完全相同的代码于另一个浏览器上运行时看起来就会不堪入目。当然,费上一番功夫想一些方法,绝大多数问题还是可以解决的。不过,这些基于Web的应用程序总也不能像桌面应用程序那样快速流畅地响应。这时类似于Silverlight这样的技术就应运而生了。 尽管Silverlight的第一个主要版本在应用程序开发方面没有太大的革新,但是紧随其后的Silverlight 2可以让应用程序开发人员使用.NET代码开发基于Web并且与浏览器无关的应用程序。除此之外,还有一些额外的好处,Silverlight提供了一些富用户界面特性,如支持平滑的动画和视频等。尽管Silverlight 2可以很好地解决最初的部分问题,但是仍然不能很好地支持开发人员开发功能强大的在线业务应用程序。下一版本的Silverlight,也即版本3,试图通过添加一些重要特性如:主题、图表、导航、离线使用以及其他许多功能来解决这一问题。然而,即便是对于Silverlight 3,仍有一些在线业务应用程序需要的关键功能没有解决,其中很重要的一点是缺乏对打印的支持。然后很快就步入了Silverlight 4。现在,Silverlight有了对打印的充分支持、隐式的样式、DataGrid控件对数据当前位置的编辑以及更为强大的WCF RIA服务,您可以任意地使用所需的工具将桌面应用迁移到在线应用,并且丝毫不会影响用户界面的功能和响应速度。 编写本书是出于以下几点考虑。首先,Silverlight最新添加的这些功能是如此的强大,解决了之前版本中存在的诸多问题,作者想展示和说明使用这些新功能来开发功能强大的富Internet应用程序(RIA)是多么简单的一件事情。其次,尽管现在有许多关于网站开发的书籍,但没有几本能真正解决在设计、实现、部署应用程序以及与业务相关的一些事情时所遇到的具体问题和挑战。 在本书中,作者将通过带您创建一个名为FitnessTrackerPlus的模拟在线健身跟踪应用程序来解决这两方面的需求。由于使用了统一的提出问题-分析问题-解决问题这一模式,您将看到应用程序开发的方方面面,比如需求收集、设计、实现以及最后的部署。了解了如何创建网站之后,我们会将话题转到网站盈利模式,包括集成按点击付费广告和使用PayPal按月收取月租费。最后,并不像大多数书中所做的那样仅仅告诉您最后的生成过程。相反,您将看到如何一步步地将您的应用程序部署到一个真正的虚拟共享主机上。 然而,在开始之前,作者想乘此机会感谢您,感谢您选择了本书。真诚地希望您喜欢本书并且可将本书所述的技术应用到您的Silverlight应用程序中。 01 本书读者对象 本书主要适用于有一定的ASP.NET和Silverlight 2或3开发经验的读者。本书不是这两种技术的初级读物。相反,您将看到如何使用Silverlight的最新版本提供的新功能来创建富Internet应用程序。通常情况下,我们将不会详细讲述如何使用Silverlight技术或者ASP.NET相关技术来进行开发,这些技术都是基于Silverlight解决方案中所需要用到的。本书旨在阐述Silverlight 4的新特性,包括WCF RIA服务以及新的Silverlight工具包。为了充分利用本书,您应该很好地理解如何使用现有的所有Silverlight控件。 02 本书内容 本书包含了与Silverlight 4和Silverlight工具包相关的许多主题。下面是各章主要内容简介。 ● 第1章:FitnessTrackerPlus概览 ● 第2章: 多层体系结构、XAML、Silverlight 4概览、LINQ to SQL、实体框架、SQL Server 2008、WCF RIA服务 ● 第3章:WCF RIA服务以及ASP.NET用户成员管理、用户角色管理和用户配置管理 ● 第4章:Silverlight 工具包、主题和仪表板创建 ● 第5章:使用AutoCompleteBox、DataGrid、DataForm以及Silverlight工具包提供的其他控件进行数据输入 ● 第6章:使用级联ComboBox控件和其他WCF RIA服务进行数据输入 ● 第7章:使用新添加的DomainDataSource控件实现简单的数据绑定并实现一个基本的插件系统 ● 第8章:为仪表板添加图表 ● 第9章:使用导航框架以及在Silverlight中集成HTML来创建公开日志页面 ● 第10章:社交网络以及创建MySpace Silverlight应用程序 ● 第11章:利用AdSense和PayPal订阅盈利 ● 第12章:?最终生成应用程序并将其部署到一个共享虚拟主机供应商--?Discount ASP.NET上 03 本书所需运行环境 为了能够编译和运行本书的FitnessTrackerPlus应用程序,您将需要以下环境: ● Windows 7、Windows Vista、Windows XP、Windows Server 2008或Windows Server 2003 ● 任意版本的Visual Studio 2010。本书中使用的是Visual Studio 2010,但您也可以在免费的Express版本中编译并运行所有的源代码 ● Silverlight 4 Tools SDK ● Silverlight工具包 ● WCF RIA Services Framework SQL Server Express 2008 ● Expression Blend (选择viewing/editing XAML选项) 04 源代码 在读者学习本书中的示例时,可以手动输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点/或www.tupwk.com.cn/ downpage上下载。登录到站点?±>,使用Search工具或使用书名列表就可以找到本书。接着单击Download Code链接,就可以获得所有的源代码。既可以选择下载一个大的包含本书所有代码的ZIP文件,也可以只下载某个章节中的代码。 代码段filename 在下载代码后,只需用解压缩软件对它进行解压缩即可。另外,也可以进入上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。记住,可以使用书中列出的程序清单的编号容易地找到所要寻找的代码,如“程序清单0-1”。 当为大多数可下载的源代码文件命名时,我们会使用这些清单中的数值。对于那些很少的没有用它自己的清单数值命名的程序清单,它们都与文件名匹配,所以很容易就可以在下载的源代码文件中找到它们。 05 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。 要在网站上找到本书英文版的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。 如果您发现的错误在我们的勘误表里还没有出现的话,请登录/contact/ techsupport.shtml并完成那里的表格,把您发现的错误发送给我们。我们会检查您的反馈信息,如果正确,我们将在本书的勘误表页面张贴该错误消息,并在本书的后续版本加以修订。 06 p2p. 要与作者和同行讨论,请加入上的P2P论坛。这个论坛是一个基于Web的系统,便于您张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。 在上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤: (1) 进入,单击Register链接。 (2) 阅读使用协议,并单击Agree按钮。 (3) 填写加入该论坛所需要的信息和自己希望提供的其他可选信息,单击Submit按钮。 (4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。 要想了解更多的有关论坛软件的工作情况,以及P2P和Wrox图书的许多常见问题的解答,就一定要阅读FAQ,只需在任意P2P页面上单击FAQ链接即可。