GHOST系统之家 - Windows系统光盘下载网站!
当前位置:GHOST系统之家>软件问题 > SharePoint 2007图文开发教程(5) 体验Event Handler

SharePoint 2007图文开发教程(5) 体验Event Handler

来源:Ghost系统之家浏览:时间:2023-08-20 13:18:16

Event Handler

Event Handler是SharePoint中与文档库或列表相关联的事件处理程序,当我们对项目进行某些操作时,Event Handler就会截获这个事件,然后相应的进行操作。功能上比较像数据库中的触发器。比如:删除某个文件时向管理员发送一个邮件,添加一个列表时进行其他操作等等。
和2.0相比,WSS3.0对Event Handler提供了更强大的支持,如:列表,文档库,内容类型。并且支持同步和异步的操作等。

为SharePoint提供一个Event Handler并不是很费力,主要包括:开启Event Handler支持,编写Event Handler程序,向SharePoint中部署Event Handler。接下来逐一说明一下。

SharePoint 2007图文开发教程(5) 体验Event Handler开启Event Handler支持

默认情况下是不开启Event Handler支持的,需要我们手动开启:进入应用程序管理---进入Web应用程序常规设置。

SharePoint 2007图文开发教程(5) 体验Event Handler

开启事件处理程序:

SharePoint 2007图文开发教程(5) 体验Event Handler

这样就完成了对Event Handler开启的支持。

SharePoint 2007图文开发教程(5) 体验Event Handler编写Event Handler程序

SharePoint的Event Handler其实是一个类,这个类主要继承WSS中的SPWebEventReceiverSPEmailEventReceiverSPListEventReceiverSPItemEventReceiver,IListEventSink类,并且重写相应的方法来完成我们的需求。

这里做个简单的例子,当我们删除一个Items时,向日志文件中添加一条记录。

直接看代码:

C# Code复制内容到剪贴板

  1. using System;   
  2. using System.Collections.Generic;   
  3. using System.Text;   
  4. using System.IO;   
  5.   
  6. using Microsoft.SharePoint;   
  7.   
  8. namespace EventHandlerText   
  9. {   
  10.     public class ItemLogEvent : SPItemEventReceiver   
  11.     {   
  12.         ///   
  13.         /// 重写ItemDeleting,向日志文件写数据  
  14.         ///   
  15.         public override void ItemDeleting(SPItemEventProperties properties)   
  16.         {   
  17.             string path = @"c:\Log.txt";   
  18.   
  19.             string text = "删除Item" + ":" + DateTime.Now.ToString();   
  20.   
  21.             StreamWriter writer = new StreamWriter(path);   
  22.   
  23.             writer.Write(text);   
  24.   
  25.             writer.Close();   
  26.         }   
  27.   
  28.     }   
  29. }  

是不是很简单,接下来我们按照为WebPart添加密钥文件的方法,为我们的Event Handler添加密钥文件,添加的目的我在部署的时候再说。这样,简单的Event Handler就完成了。

SharePoint 2007图文开发教程(5) 体验Event Handler向SharePoint中部署Event Handler

和WebPart有所不同的是,Event Handler的dll需要放到GAC(Global Assembly Cache)中,而不能放在SharePoint网站的bin文件夹中,所以我们生成的dll必须进行强签名,这也就是上面为什么添加密钥文件的目的。

GAC的系统路径为:C:\WINDOWS\assembly,直接将生成的Event Handler dll拖入到这个路径中即可。

SharePoint 2007图文开发教程(5) 体验Event Handler

先来看下SharePoint中的情况:

SharePoint 2007图文开发教程(5) 体验Event Handler

在我们先前创建的网站中,我创建了一个文档库的List,并且上传了一个word文件,我们的Event Handler就是要添加到这里。

接下来就是将这个Event Handler部署到SharePoint中。可以通过代码的形式,也可以通过Feature的形式。这里介绍下代码的形式。

创建一个批处理程序(当然win程序也可以),添加如下代码:

C# Code复制内容到剪贴板

  1. using System;   
  2. using System.Collections.Generic;   
  3. using System.Text;   
  4.   
  5. using Microsoft.SharePoint;   
  6.   
  7. namespace RegisterEvent   
  8. {   
  9.     class Program   
  10.     {   
  11.         static void Main(string[] args)   
  12.         {   
  13.             try  
  14.             {   
  15.                 SPSite site = new SPSite("http://gao:8000/sites/Brian_Publication/");//指定网站   
  16.   
  17.                 SPWeb web = site.OpenWeb();   
  18.   
  19.                 SPList list = web.Lists["文档库"];//指定List  
  20.   
  21.                 list.EventReceivers.Add(SPEventReceiverType.ItemDeleting, "EventHandlerText, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9d965453379ac249""EventHandlerText.ItemLogEvent");//添加Event Handler  
  22.   
  23.                 Console.WriteLine("发布完成");   
  24.   
  25.                 Console.ReadLine();   
  26.             }   
  27.             catch (Exception ex)   
  28.             {   
  29.                 Console.WriteLine(ex.Message);   
  30.                 Console.ReadLine();   
  31.             }   
  32.               
  33.         }   
  34.     }   
  35. }  

代码很容易,想必大家一看就能明白,找到工程生成的可执行文件,运行:

SharePoint 2007图文开发教程(5) 体验Event Handler

 这样就代表我们的Event Handler发布成功啦!至此,Event Handler的部署工作也就完成啦!

最后我们来测试下,进入文档库,删除那个“LINQ中文教程”word文件。到C:\下看下Log.txt:

SharePoint 2007图文开发教程(5) 体验Event Handler

OK,我们的Event Handler执行了,实现了我们想要的效果。 

小结:有关Event Handler的内容就介绍到这里,相信大家认真的看一边就可以很轻松的掌握,当然有关Event Handler的内容还不止这些,需要在平时的应用中多多积累。

推荐系统

  • 电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载

    电脑公司Ghost Win8.1 x32 精选纯净版2022年7月(免激活) ISO镜像高速下载

    语言:中文版系统大小:2.98GB系统类型:Win8

    电脑公司Ghost Win8.1x32位纯净版V2022年7月版本集成了自2022流行的各种硬件驱动,首次进入系统即全部硬件已安装完毕。电脑公司Ghost Win8.1x32位纯净版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,精心挑选的系统维护工具,加上绿茶独有

  • 微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    语言:中文版系统大小:5.13GB系统类型:Win11

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化  1、保留 Edge浏览器。  2、隐藏“操作中心”托盘图标。  3、保留常用组件(微软商店,计算器,图片查看器等)。  5、关闭天气资讯。 

  • Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    语言:中文版系统大小:4.75GB系统类型:Win11

    Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件

  • windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化

  • 微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载

  • 微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    语言:中文版系统大小:0MB系统类型:Win11

    微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为

  • 雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    语言:中文版系统大小:4.75GB系统类型:

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统

  • 雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    语言:中文版系统大小:5.91GB系统类型:Win7

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户