发表于 2019-2-3 13:24:28

SharePoint事件接收器

  本篇是对SharePint事件接收器做一个简单介绍,对此有编程需要的工程师可以查看此篇。

[*]  概念
  事件接收器编程,是SharePoint工程师必学的一项技术,因为他功能强大而且常用。虽然编写过程并不复杂,但还是困扰了一些人的编程思路。在此讲述这方面的知识,帮助大家解决这方面的编程基础。
  说明:以下过程以SharePoint2013开发环境VS2013为IDE编程工具进行讲解。历史版本编程方式与此版本有所不同,但概念和编程思想一致。
  有五种类型的事件接收器:
  每种类型的事件接收器,都有自己的事件处理方法,这些方法用于捕获SharePoint的一些Event,例如在列表库上插入或删除列表项时,增加一些逻辑处理能力。
  我在这里放出MSDN的官方对以上五个类的方法说明,大家可以直接点击以上的类名去查看,不在此描述。

[*]  列表事件,SPListEventReceiver
[*]  列表项事件,SPItemEventReceiver
[*]  列表电子邮件事件,SPEmailEventReceiver
[*]  Web事件,SPWebEventReceiver
[*]  列表工作流事件,SPWorkflowEventReceiver

[*]  解决方案结构
  VS2013中的SharePoint解决方案中去创建一个"SharePoint2013空项目",在这个项目上新建"事件接收器"项。
  向导会让你选择事件类型和事件源,并选择要处理的相应事件。
  一个处理类和一个Elements.xml描述文件被自动创建好。你需要做的就是编写这个类和修改这个xml文件。
  当然还有一个Feature1节点会在解决方案创建的同时自动创建出来。点击右键,在上下文菜单中选择"添加事件接收器"。这时会创建一个Feature1.EventReceiver.cs文件,我们还可以在这个类上定义一些代码,使得事件绑定更加的灵活。
  事件接收器类的编程是一个服务器OM API的开发,你的处理逻辑因你的需要而编写。
  Elements.xml是对接收器类的绑定的描述
  示例代码如下:



      
      MailLibEventReceiverEmailReceived
      EmailReceived
      $SharePoint.Project.AssemblyFullName$
      MailLibEventHandler.MailLibEventReceiver.MailLibEventReceiver
      10000
      

  3. 事件的绑定
  4. 事件的同步/异步执行
  5. 事件编程的注意事项

[*]  调试事件接收器的进程是OWSTIMER,不是w3wp进程
[*]  事件接收器的代码修改后,重新部署,再次监控进程调试时,不能进入调试中断的原因是需要修改项目工程中的程序集版本号,修改重新部署项目时会将DLL重新注册到GAC中。




页: [1]
查看完整版本: SharePoint事件接收器