If you try to delete alerts from the Sharepoint site programmatically:
SPWeb web = ...; web.Alerts.Delete(alertId);
You may face with UnauthorizedAccessException:
<nativehr>0x80070005</nativehr><nativestack></nativestack>
at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)
at Microsoft.SharePoint.Library.SPRequest.DeleteSubscription(String bstrUrl, String bstrListName, String bstrSubId, Boolean bListItem, UInt32 ulItemId, Boolean bSiteAdmin, Int32 lUserId)
at Microsoft.SharePoint.SPAlertCollection.Delete(Guid idAlert)
First thing to check is of course that account under which the code above is executed has all necessary permissions on the site. If this is the case but the problem is still there check that your site collection is not in readonly mode. You may do it using the following PowerShell command:
Get-SPSite -Id http://example.com | select ReadOnly,Readlocked,WriteLocked,LockIssue | ft -autosize
If site is in readonly mode result will look like this:
and if site is not readonly it will look like this:
You may unlock site collection using the following PowerShell command:
Set-SPSite -Id http://example.com -LockState Unlock
And set it to readonly mode like this:
Set-SPSite -Id http://example.com -LockState ReadOnly
Hope that this information will be helpful.
No comments:
Post a Comment