SharePoint 2010 工作流解决方案:创建自定义网站工作流活动

SharePoint 2010 工作流解决方案:创建自定义网站工作流活动
2011年04月06日
  创建自定义网站工作流活动 首先,创建一个用来包含和测试自定义工作流活动的项目。 1. 通过指向"文件"菜单上的"新建"并单击"新建项目",显示"新建项目"对话框。
  2. 展开"Visual C#"下的"SharePoint"节点,然后单击"2010"。
  3. 在"模板"窗格中选择"顺序工作流"。
  4. 在"名称"框中,键入YunCode.WorkFlow.CustomActivity,然后单击"确定"。
  
  这将显示"SharePoint 自定义向导"。
  5. 在"要使用哪个本地网站进行调试?"页中,单击"下一步"
  以接受默认网站。
  此步骤还会将解决方案的信任级别设置为场解决方案(工作流项目的唯一可用选项)。 在"指定用于调试的工作流名称"页上,接受默认名称 (YunCode.WorkFlow.CustomActivity CAWorkflow)
  6. 将工作流模板类型更改为"网站工作流",然后单击"下一步"。
  7. 单击"完成"以接受剩余的默认设置。
  
  
  添加自定义工作流活动类 接下来,向项目中添加一个类以包含自定义工作流活动的代码。
  1. 单击"项目"菜单上的"添加新项"以显示"添加新项"对话框。
  2. 在"已安装的模板"树视图中,单击"代码"节点,然后在项目项模板列表中单击"类"。使用默认名称 Class1。
  3. 将 Class1 中的所有代码替换为: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; namespace YunCode.WorkFlow.CustomActivity { public class Class1 : System.Workflow.ComponentModel.Activity { public Class1() { } protected override System.Workflow.ComponentModel.ActivityExecutionSt atus Execute(System.Workflow.ComponentModel.ActivityExe cutionContext executionContext) { try { SPSite site = new SPSite("http://" + System.Environment.MachineName); SPWeb web = site.OpenWeb("/"); SPList aList = web.GetList("/Lists/Announcements"); try { SPList bList = web.GetList("/Lists/Announcements Backup"); bList.Delete(); } catch { } Guid newAnnID = web.Lists.Add("Announcements Backup", "A backup Announcements list.", SPListTemplateType.Announcements); SPList bakList = web.Lists[newAnnID]; foreach (SPListItem item in aList.Items) { SPListItem newAnnItem = bakList.Items.Add(); foreach (SPField field in aList.Fields) { if (!field.ReadOnlyField) newAnnItem[field.Id] = item[field.Id]; } newAnnItem.Update(); } bakList.OnQuickLaunch = true; bakList.Update(); } catch (Exception errx) { System.Diagnostics.Debug.WriteLine("Error: " + errx.ToString()); } return base.Execute(executionContext); } } } 4. 保存项目,然后单击"生成"菜单上的"生成解决方案"。
  Class1 将作为工具箱中"SharePoint 工作流"选项卡下的"工具箱"中的自定义操作出现。 向网站工作流中添加自定义活动 接下来,向工作流中添加一个活动以包含自定义代码。
  1. 在设计视图中,在工作流设计器内打开 Workflow1。
  2. 单击 Class1 并将其从工具箱中拖放到onWorkflowActivated1活动下方。
  
  
  3. 保存项目
  测试网站工作流自定义活动 紧接着,运行项目并启动网站工作流。自定义活动会创建一个备份的公告列表,然后将当前公告列表中的内容复制到该列表中。在创建备份列表之前,代码还会检查是否已存在备份列表。如果已存在备份列表,则会将其删除。代码还会向 SharePoint 网站的快速启动栏上的新列表中添加链接。
  1. 按 F5 运行项目,并将其部署到 SharePoint。
  2. 在快速启动栏上,单击"列表"以显示 SharePoint 网站中可用的所有列表。请注意,仅有一个名为"公告"的公告列表。
  3. 在 SharePoint 网页顶部,单击"网站操作"按钮,再单击"网站工作流"。在"启动新工作流"部分下,单击YunCode.WorkFlow.CustomActivity CAWorkflow 的链接。这将启动网站工作流,并运行自定义操作中的代码。
  4. 单击快速启动栏上显示的名为"Announcements Backup"(通知备份)的链接。请注意,"通知"列表中包含的所有公告已复制到此新列表中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值