VSTO Outlook - Contact iteration is SO SLOW!

Posted by DustinDavis on Stack Overflow See other posts from Stack Overflow or by DustinDavis
Published on 2011-01-15T22:55:33Z Indexed on 2011/01/16 0:53 UTC
Read the original article Hit count: 159

Filed under:
|
|
|
|

I'm working on an outlook add-in and I have a dialog window that allows the user to select contacts. I havent been able to find a way to use the outlook contact window so I am looping through the ContactFolder.Items and doing my work that way.

The problem is that I have to handle up to 70K contacts. I tried multi-threading and many other things but it is just so slow. It takes 15 seconds to load 30k contacts.

I can load and bind 500k POCO objects in milliseconds but when I need to get the contact items from outlook it just takes forever. The problem seems to be when you actually need to get a property from the contactitem it has to fetch it from the database or something. Is there a contact cache I can pull from? I only need Display and Email, nothing else. An ID would be nice but I don't need it.

Can someone please tell me a better way of getting contacts from outlook or at least tell me how to open the outlook contact selection window? I was able to find code to open it but it wont let me because I'm showing a modal dialog and it wont open if there is a modal open.

© Stack Overflow or respective owner

Related posts about c#

Related posts about .NET