Ich habe einige Probleme beim Aufheben der Registrierung einiger EventReceiver von einem ContentType. Der Inhaltstyp und die Empfänger wurden von mir selbst bereitgestellt und registriert, so dass ich nicht versuche, eingebaute oder interne Event-Receiver von MOSS zu entfernen.SharePoint: Fehler beim Aufheben der Registrierung eines EventReceivers von einem ContentType
ich dies mit dem folgenden Code-Schnipsel zu archivieren versuchen:
using (SPSite site = new SPSite("http://wssdev06/"))
{
using (SPWeb web = site.RootWeb)
{
// web.AllowUnsafeUpdates = true;
SPContentType type = web.AvailableContentTypes[<ContentTypeName>];
while (type.EventReceivers.Count > 0)
{
type.EventReceivers[0].Delete();
}
type.Update();
// web.AllowUnsafeUpdates = false;
}
}
wirft leider eine Ausnahme mit dem Befehl „type.Update()“ mir zu sagen, dass die Sammlung nicht geändert werden kann. Wie Sie im Code sehen können, habe ich bereits verschiedene Dinge ausprobiert, um dieses Problem zu lösen, indem Sie unsichere Updates erlauben oder diesen Code mit erhöhten Rechten ausführen. Aber ich bekomme immer die selbe Ausnahme.
Also, was mache ich falsch?
Danke für den Tipp, das RootWeb nicht mehr zu entfernen. – Flo