2009-12-01 4 views
4

메타 데이터와 함께 파일을 프로그래밍 방식으로 문서 라이브러리 및 이벤트 처리기에 추가해야한다는 요구 사항이 있습니다. 나는 비동기에서 "ItemAdded"와 "ItemUpdated"이벤트를 다음 코드를 사용하고 있습니다 : 그러나두 버전을 만들지 않고 문서 라이브러리에 문서 및 메타 데이터 추가

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(); 

, 파일이 추가 될 때마다, 두 가지 버전이 만들어집니다의 Files.Add 방법이라고 하나는 SPListItem.Update 메서드가 호출 될 때 하나의 버전 만 만들어지는 다른 방법이 있습니까?

미리 감사드립니다.

답변

8

.update를 대신에 사용

destItem.SystemUpdate(false); 

() 새 버전을 만들지 않도록합니다.

2

Add() 메서드에는 파일과 함께 메타 데이터를 전달하기위한 해시 테이블을 허용하는 재정의가 있습니다. 이렇게하면 Update() 또는 SystemUpdate() 메서드를 호출 할 필요가 없습니다.

관련 문제