Поделиться через


Метод SPFeature.Upgrade

Эта функция обновляет до текущую установленную версию определения функции, при необходимости без учета исключение, если оно создается.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Function Upgrade ( _
    force As Boolean _
) As IEnumerable(Of Exception)
'Применение
Dim instance As SPFeature
Dim force As Boolean
Dim returnValue As IEnumerable(Of Exception)

returnValue = instance.Upgrade(force)
public IEnumerable<Exception> Upgrade(
    bool force
)

Параметры

  • force
    Тип: System.Boolean

    Если true и возникновении ошибки будет обычно блок обновления функцию исключения заносятся в журнал и игнорируются. Затем попытка обновления компонента, несмотря на исключение. Эта попытка может или не удается, в зависимости от того, что исключение игнорируется.

Возвращаемое значение

Тип: System.Collections.Generic.IEnumerable<Exception>
Коллекция исключений, возникающих во время обновления. Поскольку исключения произошло, но не было блокировать обновление функции, они являются по существу предупреждений, которые могут войти и проверить их при необходимости. При возникновении исключения, блокировать обновление, исключение не включены в эту коллекцию, но вместо этого передается непосредственно вызывающему объекту для обработки.

Замечания

Этот метод можно использовать для каждой функции в коллекцию, возвращаемую методом QueryFeatures , SPSite, SPWebApplication, SPWebServiceи SPContentDatabase классы. Эти методы могут возвращать набор функций, которые должны быть обновлены. Можно прохода по коллекции и вызвать метод Upgrade для обновления компонентов в коллекции.

Примеры

Следующий пример получает коллекцию уровня фермы, которая содержит все экземпляры компонента, необходимо обновить. Затем выполняется итерация по коллекции и обновляет функцию.

//  Represent the ID of the Feature we want to upgrade.
Guid featureId = new Guid("1B006A62-7B92-475c-A2E5-A1CF03EE0887");

//  Get the default Web service in the farm.
SPWebService webService = SPFarm.Local.Services.GetValue<SPWebService>("");

//  Get all Feature instances with the specified ID that require upgrade.
SPFeatureQueryResultCollection features = webService.QueryFeatures(featureId, true);

//  Get a Features enumerator.
IEnumerator<SPFeature> featureEnumerator = features.GetEnumerator();

while (featureEnumerator.MoveNext())
{
    //  Get current Feature.
    SPFeature feature = featureEnumerator.Current;

    //  Upgrade the current Feature.
    Console.WriteLine("Upgrading Feature {0} with ID {1}.", 
                      feature.Definition.DisplayName, feature.DefinitionId);
    Console.WriteLine("Feature Version Before Upgrade: {0}", feature.Version);
    feature.Upgrade(false);
    Console.WriteLine("Feature Version After Upgrade: {0}", feature.Version);
}
'  Represent the ID of the Feature we want to upgrade.
Dim featureId As New Guid("1B006A62-7B92-475c-A2E5-A1CF03EE0887")

'  Get the default Web service in the farm.
Dim webService As SPWebService = SPFarm.Local.Services.GetValue(Of SPWebService)("")

'  Get all Feature instances with the specified ID that require upgrade.
Dim features As SPFeatureQueryResultCollection = webService.QueryFeatures(featureId, True)

'  Get a Features enumerator.
Dim featureEnumerator As IEnumerator(Of SPFeature) = features.GetEnumerator()

Do While featureEnumerator.MoveNext()
    '  Get current Feature.
    Dim feature As SPFeature = featureEnumerator.Current

    '  Upgrade the current Feature.
    Console.WriteLine("Upgrading Feature {0} with ID {1}.", feature.Definition.DisplayName, feature.DefinitionId)
    Console.WriteLine("Feature Version Before Upgrade: {0}", feature.Version)
    feature.Upgrade(False)
    Console.WriteLine("Feature Version After Upgrade: {0}", feature.Version)
Loop

См. также

Справочные материалы

SPFeature класс

Элементы SPFeature

Пространство имен Microsoft.SharePoint