最近在一个园子里整理WF,.net3.5/3.0新版本零零总总的看到一些东西在上面,自己一直就没有对.net3.0/3.5框架中细节加以总结,一在写博文 时对于一个新名词的拿捏不是很准确,倒是常常同事面前闹了几场笑话, 事后在看时就修改不少细节地方.
关于具体的.net3.0相对于.net2.0新添加区别在哪?在.net2.0基础自上3.0添加新技术主要目的?
2002年发布的.net1.0,2005年发布的.net2.0,.net3.0计划于2006年底发布,主要适用操作系统:Vista,2003,XP
.net3.0主要是在.net2.0基础之上完善而成一个新版本,保函了2.0中全部的功能,在以前版本基础之上开发3.0依然支持,.net3.0中添加四个组件Window WorkFlow Foundation(WF), Window Commuication Foundation(WCF),Windows CardSpace ,Windows Presentation Foundation(WPF).
可以通过3.0添加新组件发现添加组件主要适用的方向 用于解决哪一类问题?
除了2.0中传统的问数据、通过 Web 浏览器上网等等传统考虑因素,3.0中主要是为了适应当前发展趋势:
A:组织越来越倾向于从面向流程的角度看待他们的工作,也就是部分的工作流程部分实现了自动化,在编码中明确当前共有几步很重要,而为了解决这一问题主要用到工作流技术(WF)
B:应用程序要与组织内外的其他应用程序进行通信,现代应用程序还必须适用于面向服务的架构 (SOA),同时还要实现一些功能,作为其他软件可以访问的交互服务。要实现这些目标,就需要支持面向服务的应用程序(WCF)
C: 对于现代用户界面,人们的要求也有了很大幅度的提高。要提供真正的业务价值往往需要处理不同类型的文档,使用二维或三维图形,播放视频等等,还要保证本地 Windows 客户端和 Web 浏览器能够兼容这些功能。要满足这些要求,需要不同的用户界面采用统一的方法。
.net3.0添加新组件就是为解决这些问题而设计.
虽然3.0中添加了很多新的组件用来解决新的问题,但.2.0是通用的基础,尽管我们可以直接Win32直接编写软件,实际上.net FrameWork 已经成为应用程序的主流环境,看一下.net FrameWork中组成部分:
Window WorkFlow Foundation(WF):
WF 提供了一个通用框架,用于创建基于工作流的 Windows 应用程序。它可以被托管在任何进程中,使用任何种类的活动,并解决任何种类的业务问题,其中包括人员和系统工作流,使用工作流创建应用程序的一个优势是可以图形化地定义工作流。WF 的工作流设计器允许使用该功能,
Window Communication Foundation(WCF):
面向服务的通信的变化,标志着在应用程序交互方式上的进步。WCF 专为支持面向服务的应用程序而设计,正好体现了这种进步。本节将介绍 WCF 最重要的方面,包括服务和客户端、通信选项以及对安全性、可靠通信和事务的支持
从上图可以看出,服务提供了客户端可访问的接口。该接口可通过 Web 服务描述语言 (WSDL) 来定义,然后转成代码,也可以通过 C# 或 Visual Basic 等语言直接定义 ,对于一个提供保险应用程序服务的简单接口而言,若使用后一种方法,则代码如下所示:
该接口ServiceContract属性来修饰,表示该接口中提供可以远程调用的操作方法,所提供的接口方法都标有OperationContract 属性,但并不是必须的,仅为接口的某些方法应用 OperationContract 是合法的。无论进行哪种选择,应用程序中必须有一个类实现该接口,从而为接口定义的方法提供实际代码。一旦完成,WCF 会自动将方法标记为 OperationContract,表示该服务的客户端可对其进行访问。
WCF 取代了一些用于创建分布式应用程序的早期 Microsoft 技术。大多数使用 ASP.NET Web Services、.NET Remoting、Enterprise Services、System.Messaging 或 WSE 构建的应用程序,将转而通过 WCF 进行构建。WCF 应用程序可以与 ASP.NET Web Services 应用程序交互,两者都支持标准 SOAP,也可与其他构建在 Enterprise Services、MSMQ 和 3.0 版的 WSE 上的应用程序交互。BizTalk Server 2006 也可以使用 WCF,而且未来版本的 BizTalk Server 会更直接地构建在 WCF 提供的架构上.
Window CardSpace:一致的数字标识控件
CardSpace主要用来 帮助人们追踪自己的数字标识,CardSpace 用不同的信息卡来表示每个数字标识。如果网站接受 CardSpace 登录,那么用户在尝试登录这一网站时会看到 CardSpace 选择屏幕,如图 3 所示。您可以选择一张卡片,这就相当于选择了登录该网站的数字标识。不必再去费心记住数不清的用户名和密码,用户只要记住他们要使用的那张信息卡就可以了。不同的信息卡还包含其他信息,用户可以通过它控制登录网站时提交的信息
Windows Presentation Foundation:适用于不同用户界面统一方法
一直以来,Windows 上的这些用户界面功能都是以不同方式提供的。例如,开发人员可以使用 .NET Framework 中的 Windows Forms 来创建 Windows GUI,使用 HTML、Java 小程序或 JavaScript 代码创建 Web 浏览器界面,或是使用 Windows Media Player、Adobe 的 Flash Player 等软件播放视频,文档格式则以 Microsoft Word、Adobe PDF 或其他软件进行定义。很明显,开发人员面临着巨大的挑战:如何使用不同的技术,为不同的客户端创建一致的用户界面。这相当困难,Window Presentation Foundation解决这个问题.