本篇是对SharePint事件接收器做一个简单介绍,对此有编程需要的工程师可以查看此篇。
- 概念
事件接收器编程,是SharePoint工程师必学的一项技术,因为他功能强大而且常用。虽然编写过程并不复杂,但还是困扰了一些人的编程思路。在此讲述这方面的知识,帮助大家解决这方面的编程基础。
说明:以下过程以SharePoint2013开发环境VS2013为IDE编程工具进行讲解。历史版本编程方式与此版本有所不同,但概念和编程思想一致。
有五种类型的事件接收器:
- 列表事件,SPListEventReceiver
- 列表项事件,SPItemEventReceiver
- 列表电子邮件事件,SPEmailEventReceiver
- Web事件,SPWebEventReceiver
- 列表工作流事件,SPWorkflowEventReceiver
每种类型的事件接收器,都有自己的事件处理方法,这些方法用于捕获SharePoint的一些Event,例如在列表库上插入或删除列表项时,增加一些逻辑处理能力。
我在这里放出MSDN的官方对以上五个类的方法说明,大家可以直接点击以上的类名去查看,不在此描述。
- 解决方案结构
VS2013中的SharePoint解决方案中去创建一个"SharePoint2013空项目",在这个项目上新建"事件接收器"项。
向导会让你选择事件类型和事件源,并选择要处理的相应事件。
一个处理类和一个Elements.xml描述文件被自动创建好。你需要做的就是编写这个类和修改这个xml文件。
当然还有一个Feature1节点会在解决方案创建的同时自动创建出来。点击右键,在上下文菜单中选择"添加事件接收器"。这时会创建一个Feature1.EventReceiver.cs文件,我们还可以在这个类上定义一些代码,使得事件绑定更加的灵活。
事件接收器类的编程是一个服务器OM API的开发,你的处理逻辑因你的需要而编写。
Elements.xml是对接收器类的绑定位置的描述
示例代码如下:
<?xml version="1.0" encoding="utf-8"?> <Elements <Receivers <Receiver> <Name>MailLibEventReceiverEmailReceived</Name> <Type>EmailReceived</Type> <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly> <Class>MailLibEventHandler.MailLibEventReceiver.MailLibEventReceiver</Class> <SequenceNumber>10000</SequenceNumber> </Receiver> </Receivers> </Elements> |
- 事件的绑定
- 事件的同步/异步执行
- 事件编程的注意事项