1. 工作流的开发风格
在WF中,有三种开发工作流的方式。
<1> Markup-only
<2> Code-and-MarkUp
<3> Code-only
在这里,我就不想再去花时间去举例子,我们长话短说。
工作流的布局方式是XAML格式,相信了解WPF和Sivlerlight的人对这点都比较清楚。其实这个和WF是一样的。这个就是所谓的Markup-only模式。
而另一个极端是Code-only。我们还是去想WPF中的例子,如果WPF不熟悉我们去想想Winform中的例子,我们想开发一个登陆的窗口,有两种方法,第一种也是我们最常用的一种,是把一些控件拖到Form窗体上,而另一种方法就是在后台文件中去new TextBox(),然后设定这个TextBox的样式,位置等信息,这种方法就是Code-only模式。
当然,最常用的还是我们的Code-and-Markup模式,用惯了Visual Studio的我们对这个是再熟悉不过了,用ASP.NET举例子,.aspx上进行布局,我们向上拖动控件,比如拖进去一个Button,然后双击Button,在后台.aspx.cs文件中去实现Button_Click事件。
如果C#之于.NET SDK一样,开发托管软件所需要的只是记事本和csc.exe。当然,开发工作流也一样,只需要记事本和wfc.exe。当然,我想几乎不会有人去用记事本开发一个WF项目。
因此我们不去花时间了解其他的模式,我们废话少说,直接步入正题,熟悉Visual Studio下开发WF的环境,正所谓,工欲善其事必先利其器、
2. Visual Studio开发环境
Visual Studio是我们开发工作流的中心,他几乎提供了所有开发工作流所需的工具和功能。
接下来,就让我们开始步入Visual Studio环境。
Visual Studio自带的工作流模板分为以下几类:
<1> SharePoint 2007工作流:用于构建SharePoint的工作流项目
<2> 类库:是不可执行的,项目的输入是类库,你这时不需要一个宿主就可以开始创建程序集
<3> 控制台应用程序:这个与类库的不同就在于他包含了一个宿主文件,这个宿主文件是Windows控制台。
接下来,让我们看看Visual Studio为我们提供的与工作流相关的菜单项及功能选项。
首先,让我么进入设计界面:
在这个界面上右击鼠标会弹出这样的菜单项:
当然,我们也可以点击菜单栏上的工作流按钮:
其中,最常用的功能就是:
<1> 另存为图像和复制到剪贴板:这个很容易理解,不多做解释
<2> 生成处理程序:这个选项可以自动生成界面上的工作流所需的事件方法。
<3> 查看SequentialWorklow:这个是默认的选项,也就是查看工作流的可视化默认界面
<4> 查看取消处理程序:在这个视图下,允许你定义一组当你取消工作流的时候所需要激活的活动
<5> 查看错误处理程序:在这个视图下,允许你定义一组当你程序出现错误时所需要激活的活动
<6> 调试: 这个是个非常重要的选项:
我们在下文中会频繁用到这个技术。
另外,像工具栏,属性窗口之类大家熟悉得不能再熟悉的界面我就不再截图了。