激活SharePoint功能时发生意外错误

激活SharePoint功能时发生意外错误,sharepoint,sharepoint-2010,Sharepoint,Sharepoint 2010,我讨厌SharePoint 我正在尝试通过功能安装SharePoint计时器。 我的功能的作用域为Web(当我尝试部署时,作用域为WebApplication时会出现拒绝访问错误) timer类中我的2个构造函数: public CheckListForOldItems() : base() { } public CheckListForOldItems(SPWebApplication webApp) : base(JOB_NAME, webApp, null, SP

我讨厌SharePoint

我正在尝试通过功能安装SharePoint计时器。 我的功能的作用域为Web(当我尝试部署时,作用域为WebApplication时会出现拒绝访问错误)

timer类中我的2个构造函数:

public CheckListForOldItems() : base()
{

}

public CheckListForOldItems(SPWebApplication webApp) : 
          base(JOB_NAME, webApp, null, SPJobLockType.Job)
{
    Title = "Check list for items which have not been modified recently.";
}
在FeatureActivated事件的事件接收器中,我有

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
    SPWebApplication webApp = properties.Feature.Parent as SPWebApplication;
    CheckListForOldItems simpleJob = new CheckListForOldItems(webApp);

    SPMinuteSchedule schedule = new SPMinuteSchedule();
    schedule.BeginSecond = 0;
    schedule.EndSecond = 59;
    schedule.Interval = 1;

    simpleJob.Schedule = schedule;
    simpleJob.Update();
}
项目设置为无活动部署

在SP中,当我激活该功能时,我收到一个错误,上面写着“发生了意外错误。相关ID:bd1d16f6-e7c9-46c6-9a06-9103bd37858f

如果我取消对FeatureActivated中除第一行之外的所有代码行的注释,那么它将在类声明行终止


我做错了什么?

您的功能是作用域到Web。但在代码中,您试图将SPWeb对象ie(properties.feature.Parent)转换为SPWebApplication,这是错误的。 以下行对于Web范围的功能是错误的:

SPWebApplication webApp = properties.Feature.Parent as SPWebApplication;
您可以将范围更改为Web应用程序(理想方式),或将代码更改为以下内容:

SPWeb web=properties.Feature.Parent as SPWeb;
CheckListForOldItems simpleJob = new CheckListForOldItems(web.Site.WebApplication);

计时器作业应始终安装在Web应用程序级别!否则您肯定会收到拒绝访问的消息


将功能接收器代码放置在WebApplication作用域功能中以安装计时器作业,计时器作业将正常工作。

是否使用此“关联ID”检查了sharepoint日志“在哪里可以找到日志?在您的14配置单元中:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGSC:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\logs,然后按最新降序对文件进行排序,有关此id的更多详细信息将在最新的fileObject引用中。未设置为对象的实例是一个有用的错误。这是因为功能范围设置为Web,但代码将webApp设置为WebApplication吗?