我有一些问题,取消注册一些事件接收者形成一个内容类型.内容类型和接收器由我自己部署和注册,因此我不会尝试删除任何MOSS内置或内部事件接收器.
我尝试使用以下代码片段将其归档:
using (SPSite site = new SPSite("http://wssdev06/")) { using (SPWeb web = site.RootWeb) { // web.AllowUnsafeUpdates = true; SPContentType type = web.AvailableContentTypes[]; while (type.EventReceivers.Count > 0) { type.EventReceivers[0].Delete(); } type.Update(); // web.AllowUnsafeUpdates = false; } }
不幸的是,命令"type.Update()"抛出一个异常,告诉我无法修改集合.正如您在代码中看到的,我已经尝试了不同的方法来解决这个问题,因为允许不安全的更新或使用提升的权限运行此代码.但我总是得到同样的例外.
那么我做错了什么?
您的问题是"AvailableContentTypes"属性返回一个READ-ONLY集合.
您还应该使用'ContentTypes'属性,一切都应该没问题.
问候,
挖.