Я использую службы Exchange в своем коде приложения для отображения списка электронных писем в пользовательском интерфейсе приложения. Тем не менее, он может получить список адресов электронной почты. Но для отображения всех настроек требуется очень много времени. Если я уменьшу количество отображаемых писем, это займет меньше времени.
public static List<EmailMsg> GetEmailListInFolder(string folderName)
{
var folderId = GetFolderId(folderName);
var service = GetExchangeService();
if (folderId != null)
{
var emails = new List<EmailMsg>();
var count = 0;
var findResults = service.FindItems(folderId, new ItemView(100));
foreach (var item in findResults.Items)
{
var emailPropertySet = new PropertySet(
BasePropertySet.FirstClassProperties,
new PropertyDefinitionBase[]{
new ExtendedPropertyDefinition(4115, MapiPropertyType.Binary)
});
var message = EmailMessage.Bind(service, item.Id, emailPropertySet);
emails.Add(new EmailMsg(folderName, count++, item.Id.UniqueId, message.Subject, message.DateTimeReceived.ToString("yyyy-MMM-dd HH:mm:ss"), ""));
}
return emails;
}
return null;
}
Когда я отлаживаю код и обнаруживаю, что на этой строке требуется несколько секунд, прежде чем перейти к следующей строке.
var message = EmailMessage.Bind(service, item.Id, emailPropertySet);
Пожалуйста, предложите мне способ уменьшить время загрузки моих электронных писем. Спасибо