• 编写和布置一个List Event Receivers(下)


    前文说到已经将类写好并放到GAC里面了,本文将接着介绍如何布置List Event Receivers.

    布置List Event Receivers有三种方法,分别是:

    1.     通过编程的方式布置

    2.     通过Feature来布置

    3.     通过Content Types来布置

    一、     通过编程的方式来布置(假设站点下有一个ListMyList)

    建立一个控制台应用程序,添加对Microsfot.SharePoint.dll的引用,然后添加代码如下:

    static void Main(string[] args)

    {

    string siteUrl = "Http://你的站点地址";

    SPSite site = new SPSite(siteUrl);

    SPWeb web = site.AllWebs[0];

    SPList list = web.Lists["MyList"];//MyList是站点下的一个List名称。

    SPEventReceiverDefinition newReceiver = list.EventReceivers.Add();

    newReceiver.Class = "EventLogger.ListEventLogger";//此处是上面所写Event Receivers的命名空间及类名

    newReceiver.Assembly = "Feature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ef3c06797f59570f";//此处可以用Reflector.exe查看。

    newReceiver.SequenceNumber = 5000;

    newReceiver.Type = SPEventReceiverType.ItemUpdated;

    newReceiver.Update();

    }

    其实这些代码都是最基本的代码,也不需要太多解释。

     

    这样就可以通过程序的方法,将List Event Receivers发布到MyList这个List中。

    将修改MyList中的某一项时,就生成了一条日志记录。

    二、        通过Feature来布置。

    Feature一般是放在C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES下面的,每一个Feature都有自己单独的文件夹(本例子中叫做LogFeature),文件夹下面一般有2个文件: Feature.xmlElement.xml(这个文件的名字可以自己定义).

    Feature.xml的结构如下:

    <Feature Id="D250636F-0A26-4019-8435-A5232D592C08"

        Title="Event Logger"

        Description="Add log to a text file."

             Scope="Site"

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

        <ElementManifests>

            <ElementManifest Location="Element.xml" />

        </ElementManifests>

    </Feature>

    Element.xml的结构如下:

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

        <CustomAction

            Id="ReportListEventLogger"

            Location="Feature"

            GroupId="SiteActions"

            Title="Add event logger"

            ControlAssembly="Feature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ef3c06797f59570f"

            ControlClass="EventLogger.ListEventLogger">

        </CustomAction>

    </Elements>

    当在Features文件夹下有Feature.xmlElement.xml之后,你就可以用Stsadm命令行来安装Feature,具体命令如下:

    Stsadm.exe –o installfeature –filename LogFeature\feature.xml

    这样就安装完成了,可以在页面中或再用命令行来激活.

     三.通过Content Type来布置:此种方法没有学会,还望高人指点.

  • 相关阅读:
    在VMWare中增加Linux文件系统空间
    linux shell 字符串操作(长度,查找,替换)详解
    linux chmod命令参数及用法详解文件文件夹权限设定命令
    Linux分割日志计划任务(原创)
    写日志C#程序
    2011年底,数家大型网站数据库被窃取分析报告(原创)
    ThinkPad SL400全驱动
    东辰信竞学子——从今天开始重新出发!
    CentOS7下安装mysql8027
    arcgis基础
  • 原文地址:https://www.cnblogs.com/hearticy/p/1293718.html
Copyright © 2020-2023  润新知