Share via


SPFeature.Upgrade - Méthode

Cette fonctionnalité met à niveau la version actuellement installée de la définition de fonction, en ignorant éventuellement une exception si une exception est levée.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Function Upgrade ( _
    force As Boolean _
) As IEnumerable(Of Exception)
'Utilisation
Dim instance As SPFeature
Dim force As Boolean
Dim returnValue As IEnumerable(Of Exception)

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

Paramètres

  • force
    Type : System.Boolean

    Si true et qu'une exception se produit, qui serait normalement bloquer la mise à niveau de la fonctionnalité, l'exception est connecté et ignoré. Une tentative est ensuite faite pour mettre à niveau la fonctionnalité en dépit de l'exception. Cette tentative peut ou ne peut pas réussir, selon lequel l'exception est ignorée.

Valeur renvoyée

Type : System.Collections.Generic.IEnumerable<Exception>
Collection d'exceptions levées pendant la mise à niveau. Dans la mesure où l'exception s'est produite mais ne bloque pas la mise à niveau de la fonction, elles sont essentiellement des avertissements qui peuvent être enregistrés et révisées si vous le souhaitez. Si une exception se produit qui ne bloque pas la mise à niveau, l'exception n'est pas incluse dans cette collection, mais à la place est passée directement à l'appelant pour la gestion des.

Remarques

Vous pouvez utiliser cette méthode sur chaque fonctionnalité dans la collection retournée par la méthode QueryFeatures de la SPSite, SPWebApplication, SPWebServiceet les classes SPContentDatabase . Ces méthodes peuvent retourner un ensemble de fonctionnalités qui doivent être mis à niveau. Vous pouvez parcourir cette collection et appelez la méthode Upgrade pour mettre à niveau les fonctionnalités de la collection.

Exemples

L'exemple suivant obtient la collection au niveau de la batterie de serveurs qui contient toutes les instances d'une fonction qui doivent être mis à niveau. Le code parcourt la collection, puis met à jour la fonctionnalité.

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

Voir aussi

Référence

SPFeature classe

SPFeature - Membres

Microsoft.SharePoint - Espace de noms