나는 사이트 모음의 각 웹 사이트를 프로그래밍 방식으로 반복하는 타이머 작업을 가지고 있으며 다음 항목에 대한 휴지통 항목을 가져 오려고합니다. 각 웹 사이트. 다음은 내 코드입니다 -SPWeb 개체에서 프로그래밍 방식으로 휴지통 항목을 가져올 수 없습니다. 코드가 타이머 작업으로 래핑 된 경우
공공 재정의 무효 (GUID targetInstanceId) 실행 { SPSecurity.RunWithElevatedPrivileges (대표 { SPFarm 농장 = SPFarm.Local을,
SPWebService service = farm.Services.GetValue<SPWebService>("");
foreach (SPWebApplication webapp in service.WebApplications)
{
foreach (SPSite site in webapp.Sites)
{
foreach (SPWeb web in site.AllWebs)
{
//Get the recycle Bin Items of the site
SPRecycleBinQuery rbQuery = new SPRecycleBinQuery();
rbQuery.ItemState = SPRecycleBinItemState.SecondStageRecycleBin;
rbQuery.RowLimit = 10000;
SPRecycleBinItemCollection actualRBItems = web.GetRecycleBinItems(rbQuery);
if (actualRBItems != null)
{ if (actualRBItems.Count != 0) {//do something} }
}}}});}
하지만 웹 사이트 휴지통에 항목을 넣은 후에도 SPWeb.RecycleBin.Count에 대한 코드가 매번 0이되고 사이트 수집 RB SPWeb.Site.RecycleBin의 항목을 가져올 수 있습니다. 누구든지 어떤 생각을 가지고 있습니까, 제 요구 사항은 사이트 coll 내의 각 웹 사이트와 별도로 항목을 얻는 것입니다. 어떤 도움이라도 대단히 감사합니다 !!
또한 추가하기 만하면 이벤트 수신기에서 동일한 코드를 시도했지만 작동합니다! 타이머 작업이나 코드의 문제점이 있습니까?
내가 언급 한 사이트 모음 개체에 대한 휴지통 항목을 가져올 수 있습니다. 문제는 "웹"객체에서 휴지통 항목 가져 오기입니다 !!! – sid