Особенное событие имеет нулевые объекты - PullRequest
3 голосов
/ 09 апреля 2011
public class Feature1EventReceiver : SPFeatureReceiver
{

    public override void FeatureInstalled(SPFeatureReceiverProperties properties)
    {

        string sContextNull = (SPContext.Current == null) ? "Context is NULL" : "Context is OK";
        string sFeatureNull = (properties.Feature == null) ? "Feature is NULL" : "Feature is OK";

        // Some code here
        ...
        ...
    {
}

Функция успешно установлена ​​(без ошибок в журналах).Моя проблема в том, что sContextNull всегда возвращает "Context is NULL" sFeatureNull всегда возвращает "Feature is NULL" тоже.Есть ли способ получить ненулевые значения SPContext.Current и properties. Характеристика ?

Другой метод FeatureActivation возвращает ContextNULL и Функция в порядке .WTF?

Ответы [ 3 ]

2 голосов
/ 09 апреля 2011

SPContext.Current

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spcontext.current.aspx

Gets the context of the current HTTP request in Microsoft SharePoint Foundation.

SPFeatureReceiver.FeatureInstalled выполняется, когда компонент установлен в ферме, что выполняется с помощью команды развертывания / установки из stsadm или powershell, которая обычно запускает задание таймера для выполнения этой работы. На данный момент нет HTTP-запроса, поэтому SPContext.Current возвращает ноль.

1 голос
/ 11 апреля 2011

Я думаю, вам нужно получить веб-страницу, содержащую эту функцию, поэтому попробуйте использовать

(properties.Feature.Parent as SPWeb)

Она прекрасно работает со мной

Примечание: попробуйте привести его к SPSite, если эта функциясфера действия сайта

1 голос
/ 09 апреля 2011

Возможно свойств. Характеристика в методе FeatureInstalled является ошибкой. Я попробовал следующий код, и он работает для меня:

public class Feature1EventReceiver : SPFeatureReceiver
{    
    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {    
        string sFeatureNull = (properties.Feature == null) ? "Feature is NULL" : "Feature is OK";

        // Some code here
        ...
        ...
    {
}

этот метод возвращает Функция в порядке .

Пожалуйста, не используйте свойства. Свойство в методе FeatureInstalled и FeatureUninstall !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...