第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

EWS錯誤:超過了1000個項目的最大數(shù)量,可以在一個請求中將其刪除

EWS錯誤:超過了1000個項目的最大數(shù)量,可以在一個請求中將其刪除

C#
牧羊人nacy 2021-04-09 18:14:58
我正在使用EWS Exchange Sync,在我的一種方法中,這就是說我超出了可以在單個請求中刪除的1000個項目的最大數(shù)量。是否可以解決此問題,而不是從日歷中刪除所有內(nèi)容,而只從今天起刪除,而不是及時刪除?導(dǎo)致錯誤的方法在這里:        public void DeleteAllSafeAppointments(SCDriftConnection conn, ExchangeService service, SAFEAgent agent) {        if(conn == null)            throw new ArgumentNullException("conn");        if(service == null)            throw new ArgumentNullException("service");        if(agent == null)            throw new ArgumentNullException("agent");        try {            var calendar = GetAgentCalendar(service, agent);            service.DeleteItems(GetAllSafeAppointments(calendar).Select(a => a.Id), DeleteMode.HardDelete, SendCancellationsMode.SendToNone, null);            var scheduledActivitiesOnAgent = ScheduledActivity.GetScheduleToExchange(new QueryParameters<ScheduledActivity>(s => s.Initials == agent.Initials && s.ExchangeId != null));            foreach(var schedAct in scheduledActivitiesOnAgent) {                schedAct.ExchangeId = null;                schedAct.Save(conn);            }            ResetAgentSyncState(calendar, agent);        } catch(Exception ex) {            throw new Exception("An error occured while clearing exchange calendar for " + agent.Initials, ex);        }        agent.ExchangeSyncronizationSettings.LastSync = DateTime.Now;        agent.ExchangeSyncronizationSettings.Save(conn);    }
查看完整描述

2 回答

?
LEATH

TA貢獻1936條經(jīng)驗 獲得超7個贊

private IEnumerable<Appointment> GetAllSafeAppointments(Folder calendar) {

            ItemView view = new ItemView(512);


            view.PropertySet = new PropertySet(BasePropertySet.IdOnly);


            SearchFilter filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And,

                                                                          new SearchFilter.IsEqualTo(SafeAppointmentFlag, true));


            while(true) {

                var results = SendExchangeRequest(() => calendar.FindItems(filter, view));


                foreach(var r in results.OfType<Appointment>())

                    yield return r;


                if(!results.MoreAvailable)

                    break;


                view.Offset = results.NextPageOffset.Value;

            }

        }


查看完整回答
反對 回復(fù) 2021-04-17
?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

您可以批量處理請求。我為此編寫了一個通用批處理方法:


private IEnumerable<IEnumerable<T>> Batch<T>(IEnumerable<T> input, int batchSize)

{

    List<T> items = new List<T>();

    foreach (var item in input)

    {

        items.Add(item);

        if (items.Count == batchSize)

        {

            yield return items;

            items = new List<T>();

        }

    }

    if (items.Count > 0)

    {

        yield return items;

    }

}

現(xiàn)在,您可以使用它將您的物品分成幾批:


var batches = Batch(GetAllSafeAppointments(calendar).Select(a => a.Id), 1000);

foreach (var batch in batches)

{

    service.DeleteItems(batch, DeleteMode.HardDelete, SendCancellationsMode.SendToNone, null);

}

現(xiàn)在最多一次將刪除1000個。


查看完整回答
反對 回復(fù) 2021-04-17
  • 2 回答
  • 0 關(guān)注
  • 270 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號