我在从内容类型中注销某些事件接收器时遇到了一些问题。内容类型和接收器是我自己部署和注册的,所以我不会尝试删除任何 MOSS 内置或内部事件接收器。
我试图用以下代码片段存档:
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;
}
}
不幸的是,命令“type.Update()”引发了一个异常,告诉我无法修改集合。正如您在代码中看到的那样,我已经尝试了不同的方法来解决此问题,例如允许不安全的更新或以提升的权限运行此代码。但我总是得到同样的例外。
那么我做错了什么?