相信了解MOSS的朋友也了解它的Feature。俗话说Feature is everything!没错,Feature的易用性和强大的功能扩展性。相信也得到不少MOSS发烧友们的热捧,同时我们也从它身上获取了更多的好处,正所谓互利互益。一个MOSS后期的功能点扩展很多都可以由Feature轻松包办,笔者也是这两天刚刚接触,深奥的后面和大家一起学习啦,一般我们可以用Feature轻松定制我们所需要的功能,同时它也可以管理列表事件,和网站功能点的激活与停用。好了,步入正题,本次笔者将用一个VERY EASY的DEMO供大家学习。后面希望和大家一起深入。(共享快乐)
STEP1.首先建立一个类库,笔者命名为ASimpleFeature,该类名为MyFeature,然后在添加一个文件夹命名为Features,在该文件夹创建一个子文件夹,命名为MyFeatures,最后在子文件夹添加一个Features.xml文件。其次添加Microsoft.Sharepoint.dll.最后选择项目属性,生成事件添加 copy "$(TargetDir)*.dll" C:\WINDOWS\assembly,然后在新建一个签名,这样就把该Demo的前期工作都做好了!
STEP2。编写代码。首先MyFeatures类继承SPFeatureReceiver
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
namespace ASimpleFeature
{
public class MyFeature:SPFeatureReceiver
{ //重写它的是个虚方法,分别是激活所发生的事件,关闭,安装,和卸载
//对于重写接口的虚方法,朋友们也别可以去敲打,知道有这几个方法就行了,你只要东东你小指头,轻松在SPFeatureReceiver右侧点击,生成虚构方法就OK 了!(看来我啰嗦了)
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = (SPWeb)properties.Feature.Parent;
web.AllowUnsafeUpdates = true;
web.Title = "萍水相逢";
web.Update();
web.Close();
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPWeb web = (SPWeb)properties.Feature.Parent;
web.AllowUnsafeUpdates = true;
web.Title = "Van's Home";
web.Update();
web.Close();
}
public override void FeatureInstalled(SPFeatureReceiverProperties properties)
{
//throw new Exception("The method or operation is not implemented.");
}
public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
{
// throw new Exception("The method or operation is not implemented.");
}
}
}
Features.xml 源码:
Title为你创建的Feature标题(呵呵,身份证)
Description:描述你这个Feature的作用(可有可无)
Hidden 为BOOL类型,(可有可无)
Scoap:此属性是以一个枚举,类型,它的取值包括Application Web,Web,Site,在这里笔者选择Web.(必须有)
ReceiverClass:类名称。
ReceiverAssembli:组件拖入GAC生成,一般我们用.NET REFLECTOR软件获得,省事,方便!(笔者强调下,生成的强名称组建一定记得拖入GAC当中,所以笔者刚才上面就直接用COPY指令复制到它的目录咯)。
大家如有什么不明白的最后再去SDK里面相关的内容点认真看下:http://msdn.microsoft.com/zh-cn/library/ms460318.aspx
生成项目之后,记得把MyFeatures的文件复制到C:"Program Files"Common Files"Microsoft Shared"web server extensions"12"TEMPLATE"FEATURES .弄好之后,就该stsadm大哥上场发挥作用了,首先安装,在激活。激活的时候
记得给他制定一个站点地址。
去网站功能看下
这是可以看到网站的名字变成了俺的布拉格小名啦!
好了,这样证明已经实现最初的计划目标了,该看下关闭和卸载是怎样的
首先关闭功能:
刷新页面,网站名改回原样。
变为Van’s Home
最后卸载Features,到此笔者就全部讲完一个EASY Features了!同时也希望能够和大家多多交流,共同进步(我也作为初学者的一员->学而时习之,温故知新,更要不耻下问)