Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Add-ins for Outlook (http://www.outlookbanter.com/add-ins-outlook/)
-   -   ItemChange and Exchange synchronization (http://www.outlookbanter.com/add-ins-outlook/29905-itemchange-exchange-synchronization.html)

Rog October 13th 06 08:29 PM

ItemChange and Exchange synchronization
 
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

Dmitry Streblechenko October 14th 06 02:05 AM

ItemChange and Exchange synchronization
 
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




Rog October 14th 06 04:25 AM

ItemChange and Exchange synchronization
 
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




Rog October 14th 06 04:26 AM

ItemChange and Exchange synchronization
 
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




Rog October 14th 06 04:26 AM

ItemChange and Exchange synchronization
 
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




Rog October 14th 06 04:26 AM

ItemChange and Exchange synchronization
 
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




Dmitry Streblechenko October 14th 06 06:58 AM

ItemChange and Exchange synchronization
 
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




Rog October 14th 06 07:16 AM

ItemChange and Exchange synchronization
 
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



Dmitry Streblechenko October 14th 06 08:15 AM

ItemChange and Exchange synchronization
 
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





Rog October 16th 06 06:05 AM

ItemChange and Exchange synchronization
 
Good suggestion Dmitry, so does that mean there is no way to catch this
exchange sync event programmatically within Outlook? If I triggered the
exchange sync to happen so that I could control my flag and not save to
my local db file, would I be able to prevent it from happening at
another time besides when the user saves the item?
Rog

Dmitry Streblechenko wrote:
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





All times are GMT +1. The time now is 05:59 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com