У меня возникли проблемы с отменой регистрации некоторых получателей событий из типа контента. Тип контента и получатели были развернуты и зарегистрированы мной, поэтому я не пытаюсь удалить встроенные или внутренние приемники событий 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 ()" выдает исключение, сообщающее, что коллекция не может быть изменена. Как вы можете видеть в коде, я уже пытался решить эту проблему разными способами, например разрешением небезопасных обновлений или выполнением этого кода с повышенными привилегиями. Но я всегда получаю одно и то же исключение.
Так что я делаю не так?