Immer wieder haben wir das Problem, dass nicht alle SharePoint Systeme, die wir antreffen auf SP1 laufen. Manchmal ist ein Upgrade für Kunden (mit schlechten Erfahrungen) keine Option.
Für die Entwickler stellt sich die Frage, wie können neue Funktionalitäten sicher genutzt werden. Hier gibt es einen einfachen Trick, am Beispiel des Öffnens eines Filestreams:
private static Stream OpenBinaryStreamSP1(SPFile file, bool skipVirusScan)
{
return file.OpenBinaryStream(skipVirusScan ? SPOpenBinaryOptions.SkipVirusScan : SPOpenBinaryOptions.None);
}
public static Stream OpenBinaryStream(SPFile file, bool skipVirusScan)
{
try
{
return OpenBinaryStreamSP1(file, skipVirusScan);
}
catch (MissingMethodException)
{
return file.OpenBinaryStream();
}
}
In SharePoint SP1 gibt es die Möglichkeit Dateien zu öffnen, ohne den Virenscanner aktiv werden zu lassen. Hierzu gibt es zusätzlich zur bereits vorhanden Funktion SPFile.OpenbinaryStream() die neue Variante SPFile.OpenbinaryStream(SPBinaryOptions).
Wichtig ist hierbei, dass der möglichweise ungültige Aufruf in einer eigenen Funktion gekappselt ist, da fehlende Symbole beim Binden der Funktion, also sprich SPFile.OpenbinaryStream(SPBinaryOptions) beim Aufruf von OpenBinaryStreamSP1() aufgelöst wird.