Ich habe eine Anforderung, programmgesteuert eine Datei zusammen mit Metadaten zu einer Dokumentbibliothek hinzuzufügen und in einem Ereignishandler. Ich benutze den folgenden Code in den asynchronen "ItemAdded" und "ItemUpdated" Ereignissen:
SPFile destFile = web.Files.Add(newUrl, newFile, true);
SPListItem destItem;
if (destFile.Item != null)
{
destItem = destFile.Item;
}
else
{
destItem = list.Items.Add(folderUrl, SPFileSystemObjectType.File);
}
foreach (DictionaryEntry property in properties)
{
destItem.Properties[property.Key.ToString()] = property.Value;
}
destItem.Update();
Jedoch werden jedes Mal, wenn eine Datei hinzugefügt wird, zwei Versionen erstellt, eine wenn die Files.Add Methode aufgerufen wird und eine wenn die SPListItem.Update Methode aufgerufen wird. Gibt es einen anderen Weg, dies zu tun, bei dem nur eine Version erstellt wird?
Vielen Dank im Voraus!