设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1934|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-15 09:02:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要
  在本系列文章中,笔者介绍了如何使用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的第二部分——设置配置文件的过程。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 01:50 , Processed in 0.079446 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表