Отключение функции через командную строку без запуска приемника событий SPFeature

Я деактивирую функцию с помощью инструмента stsadm. У меня включен приемник событий для этого действия. Если я деактивирую функцию вручную с сайта, событие запускается, но не при запуске команды stsadm.

Пожалуйста помоги...

Вот код Сильвен:

public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
    {
        Logging.Log(_componentName, "The document library feature has deactivated successfully.");
    }

2 ответа

Используете ли вы в коде получателя событий SPContext.Current (или другие объекты Web-Context)...? Если это так, ваш код работает на сайте, но не вне веб-контекста (например, stsadm или командной строки), потому что SPContext.Current имеет значение null.

Проверьте этот момент, но есть большая вероятность, что это проблема.

Как указала Сильвен Реверди, ваш приемник функций скорее потерпит неудачу, чем не будет вызван. Проверьте журналы SharePoint - там отслеживаются все действия по активации / деактивации / установке компонентов (Расположение - c:\Program Files\Common Files\Microsoft Shared\ расширения веб-сервера \14\LOGS, см. Где находится расположение журнала по умолчанию для SharePoint / MOSS?)

Убедитесь, что вы не используете опцию -force команды StsAdm - она ​​заставляет stsadm игнорировать сбои во время деактивации.

Другие вопросы по тегам