try
{
results = this.exchangeService.GetUserAvailability(attendees, new TimeWindow(startTime, endTime), AvailabilityData.FreeBusy);
}
catch (Exception ex)
{
string attendeesString = string.Empty;
foreach (AttendeeInfo item in attendees)
{
attendeesString += item.SmtpAddress + "; ";
}
LogData logData = MethodLogUtilityForExchange.GetLogDataGetAttendeesAvailabilityDebug(attendeesString, startTime, endTime, ex);
LogUtility.LogException(logData, "EWS GetAttendeesAvailability Exception", ex, LogCategory.MethodInformation);
throw;
}
异常堆栈跟踪:
ExceptionSystem.ArgumentException:已添加具有相同键的项目。
at System.Collections.Generic.Dictionary`2.Insert(TKey key,TValue value,Boolean add)
at Microsoft.Exchange.WebServices.Data.ExchangeServiceBase.SaveHttpResponseHeaders(WebHeaderCollection headers)
at Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.ReadResponse(HttpWebResponse response)
at Microsoft.Exchange.WebServices.Data.GetUserAvailabilityRequest.Execute()
at Microsoft.Exchange.WebServices.Data.ExchangeService.GetUserAvailability(IEnumerable`1与会者,TimeWindow timeWindow,AvailabilityData requestedData)
at Intel.Exchange.WebServices.Extension.ExchangeServiceManager.GetAttendeesAvailability(List`1与会者,DateTime startTime,DateTime endTime)
您能帮助理解这个问题吗?我们这里没有明确处理任何词典。但我们仍然看到字典键错误。不确定会出现什么问题。
答案 0 :(得分:0)
您可能没有使用任何词典,但显然EWS处于HTTP响应处理中。几乎看起来EWS已经返回了一个重复的响应头。您可能需要获得Fiddler跟踪或其他类似内容才能看到。要检查的一件事(虽然这会导致这个错误的方式超出我的意义):做每个与会者'有不同的SMTP地址?只是在黑暗中拍摄。