• 实现自定义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的第二部分——设置配置文件的过程。欢迎大家继续关注:)多谢!

    来源:http://www.eallies.com/

  • 相关阅读:
    Centos系统通过tar.gz包安装MySQL5.7
    性能优化之MySQL优化(慕课)
    高性能可扩展MySQL数据库设计及架构优化 电商项目(慕课)第2章 电商实例数据库结构设计
    高性能可扩展MySQL数据库设计及架构优化 电商项目(慕课)第1章 数据库开发规范的制定
    道路交通实时流量监控预测系统(大讲台)
    Deepgreen DB 是什么(含Deepgreen和Greenplum下载地址)
    Linux常用命令-----------------磁盘挂载命令
    一站式学习Redis 从入门到高可用分布式实践(慕课)第十一章 Redis云平台Cachecloud
    一站式学习Redis 从入门到高可用分布式实践(慕课)第十章 缓存设计与优化
    一站式学习Redis 从入门到高可用分布式实践(慕课)第九章 Redis Cluster利用redis-trib.rb快速搭建集群
  • 原文地址:https://www.cnblogs.com/captain_ccc/p/1529096.html
Copyright © 2020-2023  润新知