![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
I am using the ItemChange event in my C# code to capture when an item is
saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#2
|
|||
|
|||
![]()
No, the cached Exchange provider provides no notification.
Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#3
|
|||
|
|||
![]()
Thanks Dmitry for your response. Well basically once a user does a save
I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#4
|
|||
|
|||
![]()
Thanks Dmitry for your response. Well basically once a user does a save
I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#5
|
|||
|
|||
![]()
Thanks Dmitry for your response. Well basically once a user does a save
I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#6
|
|||
|
|||
![]()
Thanks Dmitry for your response. Well basically once a user does a save
I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#7
|
|||
|
|||
![]()
I sam confused - why would ItemChange fire if you did not change it again?
Or if a new change did not come from the EX server? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... Thanks Dmitry for your response. Well basically once a user does a save I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#8
|
|||
|
|||
![]()
Thanks Dmitry, so what happens is I save the contact in the code,
ItemChange fires, of course, but b/c my flag is set, I do not resave it again to my local db. But then it seems b/c I just saved the Contact about 30 seconds later the ItemChange event fires b/c it seems that Exchange is doing the synchronization. Does this make sense? Dmitry Streblechenko wrote: I sam confused - why would ItemChange fire if you did not change it again? Or if a new change did not come from the EX server? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... Thanks Dmitry for your response. Well basically once a user does a save I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
#9
|
|||
|
|||
![]()
Hmmm.. I do not see that secondd event in the cached mode...
I guess you could store a hash made out of the values that you care about (e.g .Email1Address + FileAs + ...) - if the hash is still the same, do nothing. Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... Thanks Dmitry, so what happens is I save the contact in the code, ItemChange fires, of course, but b/c my flag is set, I do not resave it again to my local db. But then it seems b/c I just saved the Contact about 30 seconds later the ItemChange event fires b/c it seems that Exchange is doing the synchronization. Does this make sense? Dmitry Streblechenko wrote: I sam confused - why would ItemChange fire if you did not change it again? Or if a new change did not come from the EX server? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... Thanks Dmitry for your response. Well basically once a user does a save I capture the ItemChange event and log the item that was change to a local db. Then when they click a button I try to sync to the contact up to a server based on the values from the local db file. In addition to syncing from outlok I also sync down from the server to outlook and save the item. During the syncing I set a flag so anything that is saved will not trigged the ItemChange event, but once my sync process is complete, I change the flag to capture the next time someone modifies a contact. So the problem is about 30 secs after my sync process is complete and the flag is reset, Outlook syncs with exchange which causes the ItemChange event to fire and me to resave the item as modified in my local b file which triggers the whole process over again when nothing has really changed. Does that make sense? Dmitry Streblechenko wrote: No, the cached Exchange provider provides no notification. Why wouldn't you want to run your code? Does it matter whether a change occured because the current user modified an item or because it got modified on a different machine and the Exchange provider received the notification and updated the local copy? Dmitry Streblechenko (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO and MAPI Developer Tool "Rog" wrote in message ... I am using the ItemChange event in my C# code to capture when an item is saved and then do something with it. The problem is I do not want to do this action when Exchange is syncing. Is there anyway to determine when exchange is doing its auto-sync so i can not run the code? Thanks so much |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Exchange offline address book synchronization | JohnGregor | Outlook - Using Contacts | 1 | July 15th 06 07:14 PM |
folder synchronization | Jon Andresen | Outlook - Installation | 0 | May 4th 06 05:56 PM |
MapiFolder Items ItemChange is not firing | AtulSureka | Outlook - Using Forms | 1 | February 6th 06 05:32 PM |
Mapi Folder Items ItemChange event is not firing | AtulSureka | Outlook and VBA | 3 | February 5th 06 07:25 PM |
Outlook-Exchange Synchronization | Dan | Outlook - Installation | 1 | February 2nd 06 03:33 AM |