在注册EventHandler之前,你需要先把你的DLL加入到GAC中,方法有二:1)直接把你的DLL拖进C:\Windows\Assembly目录下;2)使用命令行 gacutil /i mydll.dll 。
注册EventHandler可以使用SharePoint的Feature功能在界面上挂接,也可以使用程序代码进行注册,我们介绍后者。示例代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace demo.RegEventHandlers
{
class RegEHAddFolder2
{
static void Main(string[] args)
{
SPSite collection = new SPSite("http://moss:39715/sites/demo/mysite");
SPWeb site = collection.OpenWeb();
SPList list = site.Lists["年度设置"]; //年度设置为网站中的一个自定义列表
string asmName = "EHAddFolder2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=658be9014963293d"; string className = "demo.EventHandlers.EHAddFolder2";
//该程序集名称和类名称均需要全名称,可使用工具Reflector方便地获得
list.EventReceivers.Add(SPEventReceiverType.ItemAdded, asmName, className);
}
}
}
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace demo.RegEventHandlers
{
class RegEHAddFolder2
{
static void Main(string[] args)
{
SPSite collection = new SPSite("http://moss:39715/sites/demo/mysite");
SPWeb site = collection.OpenWeb();
SPList list = site.Lists["年度设置"]; //年度设置为网站中的一个自定义列表
string asmName = "EHAddFolder2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=658be9014963293d"; string className = "demo.EventHandlers.EHAddFolder2";
//该程序集名称和类名称均需要全名称,可使用工具Reflector方便地获得
list.EventReceivers.Add(SPEventReceiverType.ItemAdded, asmName, className);
}
}
}
注:这里的所有示例代码并不是唯一且最好的示例,只是作者在测试平台中能够执行的代码,供初学者参考。