Compartir a través de


del método SPFeature.Upgrade

Esta característica se actualiza a la versión instalada actualmente de la definición de característica, omitiendo opcionalmente una excepción si se produce una.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
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
    Tipo: System.Boolean

    Si true y una excepción que se produce que haría normalmente bloquear la actualización de la característica, la excepción se registra y se omite. A continuación, se realiza un intento para actualizar la característica a pesar de la excepción. Este intento puede o no se realice correctamente, según el que se omite la excepción.

Valor devuelto

Tipo: System.Collections.Generic.IEnumerable<Exception>
Colección de excepciones producidas durante la actualización. Dado que las excepciones se produjeron, pero no bloquear la actualización de la característica, son esencialmente las advertencias que pueden registrarse y revisadas si así lo desea. Si se produce una excepción que bloquea la actualización, la excepción no está incluida en esta colección, pero en su lugar se pasa directamente al autor de la llamada para el control.

Comentarios

Puede usar este método en cada característica en la colección devuelta por el método QueryFeatures de la SPSite, SPWebApplication, SPWebServicey clases de SPContentDatabase . Estos métodos pueden devolver una colección de características que deben actualizarse. Puede iterar a través de esa colección y llame al método Upgrade para actualizar las características de la colección.

Ejemplos

En el siguiente ejemplo se obtiene una colección de toda la granja de servidores que contiene todas las instancias de una característica que necesitan actualizarse. A continuación, el código recorre en iteración la colección y actualiza la característica.

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

Vea también

Referencia

clase SPFeature

Miembros SPFeature

Espacio de nombres Microsoft.SharePoint