zoukankan      html  css  js  c++  java
  • Sharepoint开发EventHandler及部署

    Event Handler 是SharePoint中与网站(web),列表/文档库(list),列表项(list item),邮件(Email)相关联的事件处理程序,当我们对站点内容进行某些操作是,Event Handler就会截获相应的事件,然后对其进行相应的操作。

    所以,SharePoint中的EventHandler有Web Level,List Level,List Item Level和Email这几种。SharePoint在开发EventHandler的时候,需要继承SPWebEventReceiver,SPListEventReceiver,SpListItemEventReceiver或SPEmailEventReceiver类,然后实现里面的方法来完成我们的功能。

    其实,SharePoint开发EventHandler是很简单的,如果说难的话,可能就难在了业务上面。下面,就以一个Demo来实现两个功能,记录一下EventHandler的开发过程,我这里创建的SharePoint2007项目,都是使用的WSPBuilder来完成的,它的确是个不错的工具。

    1.首先,需要到CA中开启站点的EventHandler支持。

      1

      2

    2.打开VS2005,创建WSPBuilder项目。

      3

      4

      5

      6

    3.项目创建完成后,需要注意一下两个xml文件,分别是:feature.xml和elements.xml

    feature.xml

    elements.xml

    4.好了,feature.xml和elements.xml文件该处理的地方以处理好了,这里,我需要添加两个事件,分别是ItemAdded和ItemDeleting,开始编写代码了。

    ItemAdded & ItemDeleting

    5.代码也编写完成了,接下来的工作就是部署咯。

       部署方式很简单的,WSPBuilder就是这么的给力,我们只需要做一下工作就可完成部署。

       image (鼠标右键项目,Build项目)

       image (Build WSP当前的项目,这一步是打包的过程,会将需要发布的文件生成一个WSP文件包)

      image (Deploy,这一步就是将刚才打包成WSP的文件分别部署到指定的发布位置,完成部署工作)

    6.部署完毕后,需要到站点中去激活EventHandler,注意,我在创建EventHandler的时候,Scope指定的是“Web”,所以,我需要到“Site features”中去激活该EventHandler。

      image (从这里进去,找到刚才部署的site features)

      image (激活刚才部署的EventHandler)

    7.OK,一切就绪,测试下吧。

      image

      image

    以上是在SharePoint2007中使用WSPBuilder开发的EventHandler,相比之下,SharePoint2010开发EventHandler就方便多了,下面记录下SharePoint2010开发EventHandler与2007的不同以及注意事项。

    1.SharePoint2010开发EventHandler时,不需要到CA中开启EventHandler支持;

    2.SharePoint2010开发EventHandler时,在创建的项目中添加Event Receiver项,然后一步步选择事件接收器类型、事件源、处理什么样的事件。很方便就完成了项目的创建。

    如下图所示:

     image image

    3.SharePoint2010开发EventHandler时,可以将事件源指定到具体的位置(即具体到那一个Web或List上面去),如下所示:

    Elements.xml

    4.SharePoint2010部署方便,当我们在开发中选择部署类型为“沙盒解决方案”时,也就意味着,我们可以将开发好的WSP文件,经过站点管理员上传到SharePoint站点,并激活就可以让其工作了。

    好了,就记录这么些吧,以后在慢慢补充。

    有关SharePoint2010开发EventHandler(2010中jiaoEvent Receiver)可参考:http://www.cnblogs.com/chenxizhang/archive/2010/04/25/1719841.html

  • 相关阅读:
    解决ffmpeg打开流各种超时问题
    ffmpeg函数使用
    如何从AVFrame::data【0】里获取RGB24数据和YUYV422数据
    ffmpeg取rtsp流时av_read_frame阻塞的解决办法
    FFMPEG实时解码网络视频流(回调方式)
    JavaScript 演练(7). 赋值与引用
    JavaScript 演练(5). 模拟类
    曾经对 TMemoryStream.Memory 错误的理解
    JavaScript 演练(10). 谁的 this ?
    JavaScript 演练(6). 函数的定义与自执行
  • 原文地址:https://www.cnblogs.com/qixing_gan/p/2789118.html
Copyright © 2011-2022 走看看