在WSS3.0内创建并使用Event Handler(续)

本篇的内容主要参照自How to: Create an Event Handler Feature
上篇中的方法,只能针对一个具体的列表增加其事件响应,如果针对多个表如何进行呢?一个解决的方法就是针对某个或某些表的模板,只要是该模板生成的列表都可以。
首先介绍一下各种模板的标示ID号:

•100   Generic list

•101   Document library

•102   Survey

•103   Links list

•104   Announcements list

•105   Contacts list

•106   Events list

•107   Tasks list

•108   Discussion board

•109   Picture library

•110   Data sources

•111   Site template gallery

•112   User Information list

•113   Web Part gallery

•114   List template gallery

•115   XML Form library

•116   Master pages gallery

•117   No-Code Workflows

•118   Custom Workflow Process

•119   Wiki Page library

•120   Custom grid for a list

•130   Data Connection library

•140   Workflow History

•150   Gantt Tasks list

•200   Meeting Series list

•201   Meeting Agenda list

•202   Meeting Attendees list

•204   Meeting Decisions list

•207   Meeting Objectives list

•210   Meeting text box

•211   Meeting Things To Bring list

•212   Meeting Workspace Pages list

•301   Blog Posts list

•302   Blog Comments list

•303   Blog Categories list

•1100   Issue tracking

•1200   Administrator tasks list


接下来,说明如何针对这些模板来注册事件处理的Dll,及将其作为一个WSS的Feature。
1. 在Local_Drive:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES 下创建一个目录LitwareHandlers。
2. 在该目录下生成两个文件:Feature.xml和Elements.xml。两个文件内容如下:
   Feature.xml
Feature.xml
   Elements.xml
Elements.xml
有关EventHandler注册的具体内容,请参照以下MSDN的网页。
      Event Registrations
3. 在Local_Drive:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES目录下执行:
stsadm -o installfeature -filename LitwareHandlers\Feature.xml

stsadm -o activatefeature -filename LitwareHandlers\Feature.xml -url http://localhost:40000/Customize

iisreset
注意:部署的网站请改为自己需要的。
4. 回到Orders列表,插入新的记录或更新已有的记录,看看是否OrderID会随着改变。

另外,如果想删除上篇中已注册的EventHandler,可以在HandlerRegistrationApp工程中的Program.cs文件中,注释掉原有的注册的语句,增加上删除的方法,具体程序参照以下:
Delete
posted @ 2009-09-23 16:49  Gu-dong  阅读(311)  评论(1编辑  收藏  举报