详解Visual Studio 2010中SharePoint工作流
创始人
2024-06-12 01:11:47
0
Visual Studio 2010 Beta 2中增强了对Web开发的支持,其中对于Share Point 2010方面的支持,大家可能还不太清楚。希望通过本文能对大家有所帮助。

#T#

介绍完针对IT人员的SharePoint Designer 2010和针对业务人员的Visio 2010,我们再来看一下Visual Studio 2010为SharePoint开发人员提供了哪些便利。

Visual Studio 2010 Beta 2界面

在Visual Studio 历代版本中,Visual Studio 2010的变化算是比较大的。就连同时发布的.NET Framework 4.0也将CLR从2.0一下子升级到了4.0。

.NET Framework 4.0

在新建项目对话框中可以看出,Visual Studio 2010仍然支持SharePoint 2007项目,不过只有工作流项目。而在SharePoint 2010分类中,却多出了如此多的内容,这便是全新的Microsoft SharePoint Development Tools。

由于SharePoint 2010的工作流仍然基于WF 3.5,所以我们仍然可以并且只能创建Sequential和State Machine两种工作流(SharePoint 2010没有使用WF 4.0真是件让人扫兴的事情)。除了这两种经典的工作流类型之外,Visual Studio 2010还能够导入由SharePoint Designer 2010设计的Reusable Workflow。

SharePoint 2010引入了一种新的解决方案类型,叫做sandboxed solution。SharePoint网站管理员可以不经过服务器管理员之手,直接将解决方案部署到网站集范围内,而且该解决方案的操作范围也被限制在部署它的网站集中。这极大地方便了简单解决方案的部署和使用,相信将来SharePoint 2010 Online推出之后,这种解决方案一定会大放异彩。不过SharePoint工作流并不支持这种部署方式,我们只能老老实实地将它设计成为一个farm solution,如下图所示:

SharePoint工作流

 

 

Visual Studio 2010也能够创建SharePoint 2010新增的工作流类型:Site Workflow,如下图所示:

Site Workflow

Visual Studio 2010并没有像SharePoint Designer那样大量新增活动,相比上一版本,只增加了如下图所示的几个活动:

新增活动

此外,由于Site Workflow根本没有和具体的列表项绑定,所以不能使用和列表项相关的OnWorkflowItemChanged和OnWorkflowItemDeleted两个活动,其余所有活动都和List Workflow相同,这一点和SharePoint Designer 2010相似。

活动的变化暂时先看到这里,下面我们来看看其他变化,下图展示了Visual Studio 2010的SharePoint工作流解决方案资源管理器:

SharePoint工作流解决方案资源管理器

我们看到两个崭新的文件夹:Features和Packages。Microsoft SharePoint Development Tools提供了在组织解决方案内的Feature和Package的能力,通过这一功能,我们可以以图形化的方式来组织和管理Feature和Package,十分方便。下图展示了崭新的Feature编辑器:

Feature编辑器

在下图所示的添加项对话框中,我们可以看到,除了Sequential Workflow和State Machine Workflow之外,和工作流相关的可添加项还有Workflow Association Form和Workflow Initiation Form。

添加项对话框

这两种页面的格式都是ASPX,但很可惜的是并没有提供可视化设计支持。我宁愿相信这也是beta版本的原因,因为Visual Studio 2010新增的Visual Web Part都能够使用可视化的方式来设计了。不管怎么说,我们终于可以比较方便的为工作流设计基于ASP.NET的启动页面和关联页面了。

当然,我们仍然可以使用InfoPath表单作为工作流的启动页面和管理页面。和上一版本一样,我们需要手工修改Workflow.xml文件,添加必要的宿主页面、内容类型ID和表单URN,Visual Studio 2010并没有替我们完成这部分内容(令人不解的是,为什么不把宿主页面和那个长长内容类型ID也像表单URN的相关元素一样注释起来,以供我们更加方便地使用呢?)。

我们从上面的解决方案资源管理器中看到的Elements.xml就是以前的Workflow.xml,并且由于新增了Site Workflow,Elements.xml的MetaData元素中也相应地增加了一个AssociationCategories元素,用以标识工作流时List Workflow还是Site Workflow。

本来想尝试用SharePoint Designer 2010和Visio 2010设计一个包含它们特有的操作(活动)的Reusable Workflow,然后保存为WSP模板,再使用Visual Studio 2010导入,看看会发生些什么。

结果可耻的失败了数次,唯一的收获就是发现如果Visio 2010设计的工作流流程图如果包含了那四个神秘的权限操作的话,虽然导入到SharePoint Designer 2010里可以正常识别并且设置属性,但是在检查错误的时候就会提示该活动放错了位置,只要将其移动到SharePoint Designer 2010新增的Impersonation Step中,错误就会得以解决。

我猜想是因为设置权限这种操作本身就需要更高的权限才能执行,而SharePoint 2010的工作流貌似已经是以启动工作流的用户权限来运行了,只有其中的Impersonation Step才会以工作流作者(代表着更高的权限?)的权限去执行。

原文标题:SharePoint 2010工作流系列(4):初窥Visual Studio 2010的SharePoint工作流功能

链接:http://www.cnblogs.com/xiaoshatian/archive/2009/11/17/1604216.html

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...