一步一步SharePoint 2007之三十三:实现通用Event Handler(1)——完成准备工作

简介:
为了更清晰地让朋友们了解实现通用Event Handler的几个步骤,本篇文章将被分割成两个小的部分,第一部分讲解完成准备工作,第二部分讲解尝试Event Handler。因此而给大家带来的阅读不便,就请海涵了:)

  下面将记录每一步的操作过程。
  1、首先打开打开Microsoft Visual Studio 2005,创建一个名为Eallies.EventHandler.SP2007的Class Library。


  2、创建完成后,将默认的Class1.cs改名为ListHandler.cs。


  3、为项目添加Microsoft.SharePoint.dll的引用。
  4、将项目的输出目录更改为C:\Inetpub\wwwroot\wss\VirtualDirectories\9001\_app_bin。
  5、为项目创建强名称。
  6、更改ListHandler.cs为如下的代码:
    1  using System;
    2  using System.Collections.Generic;
    3  using System.Text;
    4 
    5  using Microsoft.SharePoint;
    6 
    7  namespace Eallies.EventHandler.SP2007
    8 {
    9      public  class  ListHandler :  SPItemEventReceiver
   10     {
   11          public  override  void ItemDeleting( SPItemEventProperties properties)
   12         {
   13             properties.Cancel =  true;
   14             properties.ErrorMessage =  "You have no access to delete it.";
   15         }
   16     }
   17 }


  7、向解决方案中添加一个名为Eallies.EventHandler.Register的Console Application项目。
  8、为Eallies.EventHandler.Register项目添加Microsoft.SharePoint.dll的引用。
  9、使用Reflector找到Eallies.EventHandler.SP2007项目的Assembly信息。


  10、将Eallies.EventHandler.Register项目中的Program.cs更改为如下的代码:
    1  using System;
    2  using System.Collections.Generic;
    3  using System.Text;
    4 
    5  using Microsoft.SharePoint;
    6 
    7  namespace Eallies.EventHandler.Register
    8 {
    9      class  Program
   10     {
   11          static  void Main( string[] args)
   12         {
   13              SPSite site =  new  SPSite( "http://denny-zhang:9001/sites/Wodeweb");
   14              SPWeb web = site.OpenWeb( "Docs");
   15              SPList list = web.Lists[ "Announcements"];
   16 
   17             list.EventReceivers.Add( SPEventReceiverType.ItemDeleting,  "Eallies.EventHandler.SP2007, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c7f921ec4a7dede8""Eallies.EventHandler.SP2007.ListHandler");
   18         }
   19     }
   20 }


  11、编译Eallies.EventHandler.SP2007项目,并将编译后的DLL加入到操作系统的GAC中。


  12、运行Eallies.EventHandler.Register项目。

  至此,实现通用Event Handler的准备工作就完成了。







本文转自 Eallies 51CTO博客,原文链接:http://blog.51cto.com/eallies/78810,如需转载请自行联系原作者
目录
相关文章
|
安全 编译器 C#
C#基础知识学习之 ✨ 委托(delegate) 与 事件(event) 之间的介绍
委托(delegate) 与 事件(event) 🔥 前言🙏 在之前的文章里介绍了C#中的委托(delegate) (Action、Func、Predicate)的基本含义及用法 那本篇文章在这里还要介绍一个跟委托有很大关系的小伙伴——C#中的 事件(event)🎅 事件跟委托是有很大联系的,所以也就导致很容易分不清他们两个,以及什么时候用这两个 上面有博客提到委托,想单独了解委托的可以去看一下,本篇文章主要说一下 什么是事件 🎄 以及 事件与委托的区别🎁
C#基础知识学习之 ✨ 委托(delegate) 与 事件(event) 之间的介绍
Revit空闲事件(Idling Event)增强和外部事件(External Event)
Revit空闲事件(Idling Event)增强和外部事件(External Event)
Revit空闲事件(Idling Event)增强和外部事件(External Event)
|
Java Spring 微服务
JFinal-event v2.3.0 发布,简化 Event 事件类
说明 JFinal-event 2.x 参考 Spring 4.2.x 中 Event 的使用方式而生,为 JFinal 用户带来更多方便。其核心目标是深层次解耦,为您节约更多时间,去陪恋人、家人和朋友 :) 年初 @idoz 提议实现类似 Spring 4.2 里的 PayloadApplicationEvent,其实我早就有此想法,一直没有抽出时间来折腾。
2029 0

热门文章

最新文章