Compartilhar via


SPFeature.Upgrade method

Atualiza esse recurso para a versão instalada no momento da definição do recurso, ignorando opcionalmente uma exceção se uma é lançada.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Function Upgrade ( _
    force As Boolean _
) As IEnumerable(Of Exception)
'Uso
Dim instance As SPFeature
Dim force As Boolean
Dim returnValue As IEnumerable(Of Exception)

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

Parâmetros

  • force
    Type: System.Boolean

    Se true e uma exceção ocorre que seria normalmente bloquear a atualização do recurso, a exceção é conectada e ignorada. Em seguida, é feita uma tentativa de atualizar o recurso apesar da exceção. Essa tentativa talvez ou pode não ter êxito, dependendo de qual exceção será ignorada.

Valor retornado

Type: System.Collections.Generic.IEnumerable<Exception>
Uma coleção de exceções geradas durante a atualização. Como as exceções ocorreram, mas não os bloqueou a atualização do recurso, eles são essencialmente os avisos que podem ser registrados e revisados, se desejado. Se ocorrer uma exceção que bloqueiam a atualização, a exceção não está incluída nesta coleção, mas em vez disso é passada diretamente para o chamador para tratamento.

Comentários

Você pode usar esse método em cada recurso na coleção retornada pelo método QueryFeatures do SPSite, SPWebApplication, SPWebServicee SPContentDatabase classes. Esses métodos podem retornar um conjunto de recursos que precisam ser atualizados. Você pode percorrer a coleção e chame o método Upgrade para atualizar os recursos na coleção.

Examples

O exemplo a seguir obtém uma coleção de toda a farm que contém todas as instâncias de um recurso que precisam ser atualizados. Em seguida, o código itera através da coleção e atualiza o recurso.

//  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

Ver também

Referência

SPFeature class

SPFeature members

Microsoft.SharePoint namespace