"Activer la fonctionnalité" erreur de l'étape :la Référence d'Objet n'est pas définie à une instance d'un objet
J'ai créé un personnalisé du travail du minuteur et mis en œuvre par le biais d'un événement dans sharepoint.
quand j'ai essayé de l'activer, de ses montrer cette erreur:
Object reference not set to an instance of an object. at TimerJobExample.MyFeatureReceiver.FeatureActivated(SPFeatureReceiverProperties properties) in C:\Documents and Settings\admin-shuklag.INFRADEV\My Documents\Visual Studio 2008\Projects\TimerJobExample\TimerJobExample\MyFeatureReceiver.cs:line 22
at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce)
at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce)
at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId)
at Microsoft.SharePoint.WebControls.FeatureActivator.BtnActivateFeature_Click(Object objSender, EventArgs evtargs)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
La ligne d'erreur est mis en évidence ci-dessous
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
//make sure the job isn't already registered
//error line
**foreach (SPJobDefinition job in site.WebApplication.JobDefinitions)**
{
if (job.Name == List_JOB_NAME)
job.Delete();
}
SampleTimer listLoggerJob = new SampleTimer(List_JOB_NAME, site.WebApplication);
SPMinuteSchedule schedule = new SPMinuteSchedule();
schedule.BeginSecond = 0;
schedule.EndSecond = 59;
schedule.Interval = 5;
listLoggerJob.Schedule = schedule;
listLoggerJob.Update();
}
quel pourrait être le problème?
- Pouvez-vous poster le
FeatureActivated
le code de la méthode? - Ce qui se passe dans MyCustomJob constructeur?
Vous devez vous connecter pour publier un commentaire.
Basé sur votre récepteur de fonctionnalité, je ne vois que deux possibilités:
Object Reference not set
exception lors de l'utilisation de votresite
variable.MyCustomJob
constructeur. Assurez-vous que toutes les variables sont correctement initialisé.Le problème était avec la portée de la fonctionnalité. Il a été mis sur le Web, et pour une fonctionnalité pour être activés à ce niveau, u besoin d'un compte administrateur ou un compte avec des privilèges élevés.