一步一步SharePoint 2007之四十二:实现自定义Workflow(1)——在VS中创建一个Workflow

摘要
  在本系列文章中,笔者介绍了如何使用SharePoint Designer 2007自带的Workflow设计器来设计一个Workflow。事实上,这个设计器已经可以设计非常复杂的Workflow了。
  但是,在实际应用中,我们还是没有办法只满足于使用现成的那些Workflow,那么,能不能使用VS 2005编写一个自定义的Workflow,然后在SharePoint Designer 2007中调用呢?
  答案是肯定的。这里,笔者将讲解如何实现自定义的Workflow。
  为简单起见,这里笔者仅仅只设计一个写一个文件的Workflow,然后在SharePoint Designer 2007中调用。朋友们在实现这个简单的Workflow后,自然可以尝试更为复杂的自定义的Workflow了。
  值得注意的是,要完成本部分的学习,您需要安装Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2 (EN)
正文
  为了更清晰地让朋友们了解在SharePoint中实现自定义Workflow的几个步骤,本篇文章将被分割成四个小的部分,第一部分讲解在VS中创建一个Workflow,第二部分讲解设置配置文件,第三部分讲解在Designer中创建一个Workflow,最后一部分讲解运行Workflow。因此而给大家带来的阅读不便,就请海涵了:)
  为了方便您的学习,您可以下载本篇文章所创建的工程。单击此处下载。
  本篇文章将介绍实现自定义Workflow的第一部分——在VS中创建一个Workflow。

  下面将记录每一步的操作过程。
  1、首先打开VS 2005,创建一个新的Workflow Activity Library项目,项目取名为Eallies.Workflow.Demo。
  如果您已经安装了Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2 (EN),在项目类型下,就可以找到一个名为Workflow的文件夹。
请单击查看原始尺寸的图片。

  2、项目创建成功后,将默认的类名改成WriteFile,结果就是这样的:
请单击查看原始尺寸的图片。

  3、我们可以看到,左边的工具栏中有非常多的可用Action,我们拖一个Code Action到设计器上面,并取名为WriteFileAction。
请单击查看原始尺寸的图片。

  4、双击这个WriteFileAction,就可以进入代码编写界面,我们将代码更改为如下的代码。
  这里,我们定义了一个名为Text的属性,并把这个Text写到c:\Workflow.txt这个文件中。

     1 using System;

     2 using System.ComponentModel;

     3 using System.ComponentModel.Design;

     4 using System.Collections;

     5 using System.Drawing;

     6 using System.Workflow.ComponentModel.Compiler;

     7 using System.Workflow.ComponentModel.Serialization;

     8 using System.Workflow.ComponentModel;

     9 using System.Workflow.ComponentModel.Design;

    10 using System.Workflow.Runtime;

    11 using System.Workflow.Activities;

    12 using System.Workflow.Activities.Rules;

    13

    14 using System.IO;

    15

    16 namespace Eallies.Workflow.Demo

    17 {

    18     public partial class WriteFile: SequenceActivity

    19      {

    20         private string _Text = string.Empty;

    21

    22         public WriteFile()

    23          {

    24              InitializeComponent();

    25          }

    26

    27         public string Text

    28          {

    29             get { return this._Text; }

    30             set { this._Text = value; }

    31          }

    32

    33         private void WriteFileAction_ExecuteCode(object sender, EventArgs e)

    34          {

    35             string path = @"c:\Workflow.txt";

    36             string text = this._Text + "-" + DateTime.Now.ToString();

    37             StreamWriter writer = new StreamWriter(path);

    38              writer.Write(text);

    39              writer.Close();

    40          }

    41      }

    42 }

请单击查看原始尺寸的图片。

  5、同样的方法,我们将项目的编译目录更改为C:\Inetpub\wwwroot\wss\VirtualDirectories\9001\_app_bin,并为项目强命名。
  这就是完成后的效果:
请单击查看原始尺寸的图片。

  6、最后一步就是编译项目了。

  至此,第一部分的在VS中创建一个Workflow的工作就完成了。
  下一篇文章我将记录如何实现自定义Workflow的第二部分——设置配置文件的过程。欢迎大家继续关注:)多谢

posted on 2007-10-24 11:18  执法长老  阅读(170)  评论(0编辑  收藏  举报

导航