首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SharePoint:从ContentType注销EventReceiver时出错

SharePoint:从ContentType注销EventReceiver时出错
EN

Stack Overflow用户
提问于 2009-02-26 16:08:08
回答 3查看 1K关注 0票数 3

我在从contenttype中注销一些事件接收器时遇到一些问题。contenttype和接收器是我自己部署和注册的,所以我不会尝试删除任何MOSS内置或内部的eventreceivers。

我尝试使用以下代码片段对其进行归档:

代码语言:javascript
复制
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()“抛出了一个异常,告诉我集合不能被修改。正如您在代码中看到的,我已经尝试了不同的方法来解决此问题,例如允许不安全的更新或以提升的权限运行此代码。但我总是得到相同的异常。

那么我到底做错了什么呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-02-27 10:18:36

您的问题是"AvailableContentTypes“属性返回一个只读集合。

你也应该使用'ContentTypes‘属性,一切都应该没问题。

致以敬意,

达格。

票数 6
EN

Stack Overflow用户

发布于 2009-02-26 21:21:42

类型是否基于发布类型?我在更改这些类型时遇到了问题。否则,您可以尝试更改该类型的整个SchemaXml。我发现,当其他方法不起作用时,这种方法有时会起作用。

票数 0
EN

Stack Overflow用户

发布于 2009-02-26 21:32:53

您应该能够将type.ReadOnly = false设置为启用对该类型的写入。

同样,您的SPWeb也不需要处理-有关更多详细信息,请参阅Roger Lamb's blog here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/591225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档