SharePoint事件接收器

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

  1. 概念

    事件接收器编程,是SharePoint工程师必学的一项技术,因为他功能强大而且常用。虽然编写过程并不复杂,但还是困扰了一些人的编程思路。在此讲述这方面的知识,帮助大家解决这方面的编程基础。

    说明:以下过程以SharePoint2013开发环境VS2013为IDE编程工具进行讲解。历史版本编程方式与此版本有所不同,但概念和编程思想一致。

    有五种类型的事件接收器:

    1. 列表事件,SPListEventReceiver
    2. 列表项事件,SPItemEventReceiver
    3. 列表电子邮件事件,SPEmailEventReceiver
    4. Web事件,SPWebEventReceiver
    5. 列表工作流事件,SPWorkflowEventReceiver

    每种类型的事件接收器,都有自己的事件处理方法,这些方法用于捕获SharePoint的一些Event,例如在列表库上插入或删除列表项时,增加一些逻辑处理能力。

    我在这里放出MSDN的官方对以上五个类的方法说明,大家可以直接点击以上的类名去查看,不在此描述。

  2. 解决方案结构

    VS2013中的SharePoint解决方案中去创建一个"SharePoint2013空项目",在这个项目上新建"事件接收器"项。

    向导会让你选择事件类型和事件源,并选择要处理的相应事件。

    一个处理类和一个Elements.xml描述文件被自动创建好。你需要做的就是编写这个类和修改这个xml文件。

    当然还有一个Feature1节点会在解决方案创建的同时自动创建出来。点击右键,在上下文菜单中选择"添加事件接收器"。这时会创建一个Feature1.EventReceiver.cs文件,我们还可以在这个类上定义一些代码,使得事件绑定更加的灵活。

    事件接收器类的编程是一个服务器OM API的开发,你的处理逻辑因你的需要而编写。

    Elements.xml是对接收器类的绑定位置的描述

    示例代码如下:


<?xml
version="1.0" encoding="utf-8"?>

<Elements
xmlns="http://schemas.microsoft.com/sharepoint/">

<Receivers
ListTemplateId="101">

<Receiver>

<Name>MailLibEventReceiverEmailReceived</Name>

<Type>EmailReceived</Type>

<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>

<Class>MailLibEventHandler.MailLibEventReceiver.MailLibEventReceiver</Class>

<SequenceNumber>10000</SequenceNumber>

</Receiver>

</Receivers>

</Elements>

  1. 事件的绑定
  2. 事件的同步/异步执行
  3. 事件编程的注意事项
时间: 2024-11-08 14:17:20

SharePoint事件接收器的相关文章

sharepoint 事件接收器ed方法获取HttpContext

前两天在做sharepoint 列表评分开发时候遇到一个小问题: SharePoint服务器端对象模型中的SocialRatingManager类可以用来进行评分相关的操作,但创建这个类的实例需要HttpContext对象,而ItemUpdated Event无法获取到HttpContext,因为此时用户访问已经结束 The HttpContext.Current is only available within the constructor of your event receiver wh

sharepoint事件接受器

Sharepoint事件接收器 简介 Sharepoint事件接收器,程序员可以通过事件接受器将自己的代码注册进去.当事件发生时注册的方法执行.本节以sharepoint2013为例讲解sharepoint列表注册事件. 实现方法 1.  新建事件触发器. 右击项目------选择新建-----选择事件接受器如图 2.  选择事件接收器 用户可以选择哪种类型的事件接受器.哪像因为事件源.处理那些事件.处理那些事件及为处理那些事件是触发.这里选择列表事件事件源为图片库,处理事件为项已添加.如图 3

sharepoint事件接受器2

Sharepoint事件接收器图片库更新事件 简介 Sharepoint中事件接受器是容易添加的,但有时需要设置几个属性.通过设置属性才能真确添加.阻止EventFiring. 需求 当上传图片成功后,自动修改图片的关键词自段.问题看来很简单其实有很多问题,首先要确保不是添加的文件夹.还有在资源管理其中添加是否能够成功. 问题 在资源管理器中总是报,图片以被锁定无法update().这是应为图片在添加是触发了默认事件需要阻止EventFiring. 代码: 1.新建一个继承事件接收器的类 ///

SharePoint 2013 图文开发系列之事件接收器

原文:SharePoint 2013 图文开发系列之事件接收器 在SharePoint的使用中,我们经常需要在完成一个动作之后,触发一个事件:比如,我们上传一个文档,但是没有标题,我们需要在上传完成之后,触发一个事件把文件名同步到标题,这就需要用到事件接收器. 此例,就是在SharePoint 2013文档库中,上传文档以后,将标题更新为文档名称的事件接收器. 1.添加新项目,选择SharePoint 2013空项目,如下图: 2.选择场解决方案,如下图: 3.添加新项,选择事件接收器,如下图:

可视化webpart基础开发——利用事件接收器实现同步操作两个文档库(添加、删除、修改文档)

可视化webpart基础开发——利用事件接收器实现同步操作两个文档库(添加.删除.修改文档) 分类: SharePoint2012-01-18 18:02 1189人阅读 评论(0) 收藏 举报 文档propertiesstringurl测试web 1.测试文档库(Doclib1.Doclib2): 增加一栏“测试栏1”. 2.新建“可视化web部件项目”,添加“解决方案资源管理器”里边选中项目右键“添加”-“新建项”-"事件接收器“ 如图操作,选择”列表项事件“和”文档库“集相应处理事件 实现

创建自定义的事件接收器-Semantic Logging

创建自定义的事件接收器 Semantic Logging Application Block提供了大量的事件接收器,如Rolling Flat File,SQL Database, 云存储接收器等.这些接收器都实现了IObservable<EventEntry>接口. 有时这些并不能很好的满足客户需求,这时就需要定制事件接收器,比如邮件接收器.短信接收器等. 下面介绍以下如何定制邮件接收器,在特定的事件发生时自动发送邮件给指定的客户. 本文介绍了以下主题: 创建自定义接收器 在进程内使用自定义

SharePoint 2013 为用户组自定义EventReceiver

前 言 在SharePoint的开发中,EventReceiver是很重要的一个部分,但是,常常遇到有些需要事件的时候,却没有相应的模板,因为EventReceiver创建时的模板只有那几个,除此之外我们就无法使用EventReceiver了么?其实不然,下面让我们以用户组为例,介绍下其他类型EventReceiver的创建方式. 1.新建一个Project,选择SharePoint 2013 – Empty Project,如下图: 2.选择Debug的站点,解决方案类型为Farm Solut

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第4章节--理解你的开发选项 常见的开发人员任务

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第4章节--理解你的开发选项 常见的开发人员任务 尽管SP2013中所有东西技术上说都是app,但是你会发现你正构建不同类型的apps,并且会多次遇到相同任务.辨识出这些熟悉的任务是很有帮助的,这样你可以在经常使用它们的时候,锻炼相关的技巧.你经常可能做的常见任务有如下: 创建Web部件 创建SP-hosted apps 访问和管理数据 创建cloud-hosted apps 创建事件接收器 创建ASPX页面 创建母版

BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第4章节--理解你的开发选项 总结

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第4章节--理解你的开发选项 总结 在开发SharePoint解决方案时,你有许多不同类型的选择,从场级别到沙盒到cloud-hosted到SP-hosted.每个选择都提供不同层次的SP API支持,并支持更广的Web技术(例如PhP或HTML5). 无论你选择什么开发选项,你都将发现你时不时会碰到几个常见的任务.这些包括创建Web部件.创建SP-hosted apps.访问和管理数据.创建cloud-hosted