Freigeben über


SPFeature.Upgrade-Methode

Diese Funktion wird auf die derzeit installierte Version die KE-Definition, optional eine Ausnahme ignoriert, wenn eine ausgelöst wird aktualisiert.

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

Syntax

'Declaration
Public Function Upgrade ( _
    force As Boolean _
) As IEnumerable(Of Exception)
'Usage
Dim instance As SPFeature
Dim force As Boolean
Dim returnValue As IEnumerable(Of Exception)

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

Parameter

  • force
    Typ: System.Boolean

    Wenn true und eine Ausnahme auftritt, würde normalerweise blockieren die Aktualisierung der Funktion, die Ausnahme protokolliert und ignoriert wird. Dann wird versucht, die Funktion trotz der Ausnahme zu aktualisieren. Dieser Versuch kann oder kann nicht erfolgreich ausgeführt werden, je nachdem, welche Ausnahme ignoriert.

Rückgabewert

Typ: System.Collections.Generic.IEnumerable<Exception>
Eine Auflistung der Ausnahmen, die während der Aktualisierung. Da die Ausnahmen aufgetreten ist, aber haben nicht die Aktualisierung des KE blockiert, können sie im Wesentlichen die Warnungen, die protokolliert und bei Bedarf überprüft werden können. Wenn eine Ausnahme, die das Upgrade blockiert auftritt, die Ausnahme ist nicht in dieser Auflistung enthalten aber stattdessen zur Verarbeitung direkt an den Aufrufer übergeben wird.

Hinweise

Sie können diese Methode für jede Funktion in der Auflistung zurückgegeben, die von der QueryFeatures -Methode der SPSite, SPWebApplication, SPWebServiceund SPContentDatabase -Klassen verwenden. Diese Methoden können eine Sammlung von Funktionen zurück, die aktualisiert werden müssen. Sie können diese Auflistung durchlaufen, und rufen Sie die Upgrade -Methode zum Aktualisieren der Eigenschaften in der Auflistung.

Beispiele

Im folgenden Beispiel wird eine farmweite Auflistung, die alle Varianten eines KE, die aktualisiert werden müssen. Der Code durchläuft die Auflistung und aktualisiert die Funktion klicken.

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

Siehe auch

Referenz

SPFeature Klasse

SPFeature-Member

Microsoft.SharePoint-Namespace