Recently I faced strange issue while executing a timer service through my web part. Since it was possible in MOSS 2007, but I know SharePoint 2010 does not support executing any timer job through code. I have already written a solution for setting up the property : RemoteAdministratorAccessDenied. This property allows modification of the SPPersistedObject from content web applications. The post can be viewed at: http://www.directsharepoint.com/2011/04/access-denied-while-activating-feature.html. However when I tried to execute the timer, It gave an error as:
"Operation is not valid due to the current state of the object"
To resolve this, I cleared the HttpContext.Current property to null as:
"Operation is not valid due to the current state of the object"
To resolve this, I cleared the HttpContext.Current property to null as:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite elevatedSite = new SPSite("Site URL"))
{
foreach (SPJobDefinition job in elevatedSite.WebApplication.JobDefinitions)
{
if (job.Title.Equals("Your job name") && job.Status == SPObjectStatus.Online)
{
HttpContext.Current = null;
job.RunNow();
break;
}
}
}
});
Did you resolve this issue??
ReplyDeletePankaj, The above code works without any 'access denied' issue. Let me know if you are facing issue with the code.
ReplyDelete