本文讲述使用VS2012 开发SharePoint 2013 声明式的action 综合实例。

需求同: http://blog.csdn.net/abrahamcheng/article/details/12612481

基本操作参考: http://blog.csdn.net/abrahamcheng/article/details/12652495

实现步聚 :

1.新建SharePoint 2013 empty solution(选择farm solution或sandbox solution均可)

2. 新建Custom action(命名为 SendTopNNews)

3. 添加Try catch activity 和 定义输入输出参数

4. 定义内部变量

5. 使用Build Dynamic Value构建requestHeader

6. 使用 httpsend activity 调用web service 返回jsonResult

7. 使用If分支 activity (如果 responsecode 为 OK, 开始构建MailBody, 否则输出错误)

8. 否定分支

9. 条件成立分支

a. 获取记录条数并初始 MailBody

b.添加循环While activity 拼接Mailbody

b.1 条件为“loopIndex < itemsCount”

b.2 循环体内容

10.在循环体外结束Mailbody

11. 将是否成功的信号变量设置为ture

12. 收起Try-Catch 的 Try  部分,设置Catch部分的异常 处理

13. 更新 SendTopNNews.actions4

<Action Name="SendTopNNews" ClassName="SendTopNNews.SendTopNNews" Category="Custom" AppliesTo="all">
<RuleDesigner Sentence="Web service adress is %1, out put mail body to %2, out put result code to %3">
<!-- Define the UI widgets SharePoint designer should use for configuring this action -->
<FieldBind Field="WebServiceUrl" Text="Web service url" Id="1" DesignerType="TextOnly" DisplayName="Web service url" />
<FieldBind Field="MailBody" Text="return MailBody" Id="2" DesignerType="ParameterNames" DisplayName="return MailBody" />
<FieldBind Field="Successed" Text="resultCode" Id="3" DesignerType="ParameterNames" DisplayName="resultCode" />
</RuleDesigner>
<Parameters>
<Parameter Name="WebServiceUrl" Type="System.String, mscorlib" Direction="In" DesignerType="TextOnly" Description="Set the WebServiceUrl" />
<Parameter Name="MailBody" Type="System.String, mscorlib" Direction="Out" DesignerType="ParameterNames" Description="return MailBody" />
<Parameter Name="Successed" Type="System.Boolean, mscorlib" Direction="Out" DesignerType="ParameterNames" Description="resultCode" />
</Parameters>
</Action>

14. 部署解决方案  (action4会被部署到 ~ProgramFiles\Common Files\microsoft shared\Web ServerExtensions\15\TEMPLATE\FEATURES\SendTopNNews_Feature1\SendTopNNews\SendTopNNews.actions4 , Xaml将会被部署到 ProgramFiles\Common Files\microsoft shared\Web ServerExtensions\15\TEMPLATE\FEATURES\SendTopNNews_Feature1\SendTopNNews\SendTopNNews.xaml)

15. 清空 SharePoint designer 2013的缓存  C:\Users\alias\AppData\Local\Microsoft\WebsiteCache

16. 启动 SharePoint designer 2013,创建测试工作流

17.发布工作流 ,启动工作流测试并查看结果:

使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例的更多相关文章

  1. VS2012 开发SharePoint 2013 声明式workflow action(activity)之 HelloWorld

    本文讲述VS2012 开发SharePoint 2013 声明式workflow action 之 HelloWorld. 使用VS2012开发客户化的workflow action是SharePoi ...

  2. spring+mybatis之声明式事务管理初识(小实例)

    前几篇的文章都只是初步学习spring和mybatis框架,所写的实例也都非常简单,所进行的数据访问控制也都很简单,没有加入事务管理.这篇文章将初步接触事务管理. 1.事务管理 理解事务管理之前,先通 ...

  3. SharePoint 2013 配置开发环境,需安装VS2012插件

    原文:SharePoint 2013 配置开发环境,需安装VS2012插件 SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有ShareP ...

  4. SharePoint 2013配置开发环境,需安装VS2012插件

    SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对 ...

  5. SharePoint 2013 App 开发—Auto Hosted 方式

    Auto Hosted 方式,自动使用Windows Azure来作为host,这种模式将App 发布到Office 365上的SharePoint Developer Site上.这种方式可以不用花 ...

  6. SharePoint 2013 App 开发—App开发概述

    基于安全性的考虑,SharePoint App 不能像其它两种方式一样,直接使用安全性更高的服务端代码的API.Javascript 扮演极为重要的角色,在SharePoint App中与ShareP ...

  7. SharePoint 2013 新建网站集图解

    前言:接触SharePoint的人可能是越来越多,但是很多人一接触就很迷茫,在技术群里问如何新建网站集,这样一篇图解,帮助新手学习在搭建好SharePoint环境之后,如何创建一个网站集,做一个基本的 ...

  8. SharePoint 2013 新建网站集图解(绝对菜鸟篇)

    前言:接触SharePoint的人可能是越来越多,但是很多人一接触就很迷茫,在技术群里问如何新建网站集,这样一篇图解,帮助新手学习在搭建好SharePoint环境之后,如何创建一个网站集,做一个基本的 ...

  9. Spring声明式事务管理

    一.Spring 的声明式事务管理概述 1.Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法 ...

随机推荐

  1. 【转】Intel HEX介绍

    记录格式 Intel HEX由任意数量的十六进制记录组成.每个记录包含5个域,它们按以下格式排列: :llaaaatt[dd...]cc 每一组字母对应一个不同的域,每一个字母对应一个十六进制编码的数 ...

  2. JS触发ASP.NET服务器端控件的方法

    <asp:Button ID="Button_regId" runat="server" Font-Bold="False" OnCl ...

  3. oracle 统计语句 与常见函数的归纳(未完待续)

    一.统计语句 1. count count(*)与count(0)语句的区别: count(*)统计所有数量 count(0)统计第一列不为空的 2. 两个统计量的减法 select (select ...

  4. WebView(网络视图)的两种使用方式

    WebView(网络视图)能加载显示网页,可以将其视为一个浏览器.它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化W ...

  5. codeforces 678E Another Sith Tournament 概率dp

    奉上官方题解 然后直接写的记忆化搜索 #include <cstdio> #include <iostream> #include <ctime> #include ...

  6. c++与java的优缺点

      大多数程序员都认为C/C++会比Java语言快,甚至于觉得从Java语言诞生以来,"执行速度缓慢"的帽子就应当被扣在头顶,这种观点的出现是由于Java刚出现的时候JIT编译技术 ...

  7. OC中两种单例实现方式

    OC中两种单例实现方式 写在前面 前两天探索了一下C++ 的单例,领悟深刻了许多.今天来看看OC中的单例又是怎么回事.查看相关资料,发现在OC中一般有两种实现单例的方式,一种方式是跟C++ 中类似的常 ...

  8. 写i2c_client驱动的两种方式

    http://www.cnblogs.com/simonshi/archive/2011/02/24/1963426.html

  9. YARN应用场景、原理与资源调度

    1.Hadoop YARN产生背景 源于MapReduce1.0 运维成本 如果采用“一个框架一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本,而共享模式通常需要少数管理员即可完成 ...

  10. js变量申明提前及缺省参数

    现在最先的行为准则:js变量申明必须带var:然后开始随笔: 函数中的变量申明在编译的时候都会提到函数开头. 例如: function foo(){ console.log('some code he ...