Firstly, try to use LogonExchangeMailbox instead of Logon to make sure you
are always in the online mode.
Secondly, try to keep the same RDOSession object alive at all times rather
than recreating it.
Thirdly, try to use the standalone version of MAPI.
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
"Michael" <(E-Mail Removed)> wrote in message
news:d288f0fd-369f-4df7-921a-(E-Mail Removed)...
The Outlook version we have been testing on the server is 2007
(12.0.6212.1000), though we also use Outlook 2003 (with service
packs). We are logging into the default profile for the account that
the service is running (RDOSession.Logon), and that profile is set up
in the default Cached Exchange Mode. It is always an Exchange
account. The Exchange version is 6.5.7651.61.
The user's mailbox folders have the appropriate permissions so that
the server can access necessary folders. I use the
RDOSession.GetSharedDefaultFolder() method to get the Inbox and then
find the other folders relative to that one.
After the server processes all the users, calls RDOSession.Logoff(),
releases the last COM objects (it does that all along too), collects
garbage a few times, and sleeps for a while before it logs in again to
do work.
Michael
On Feb 5, 6:58 pm, "Dmitry Streblechenko" <dmi...@dimastr.com> wrote:
> Is your service running against an existing profile (RDOSession.Logon)
> that
> uses cached mode (OST) or against an online store returned by a dynamic
> profile (RDOSession.LogonExchangeMailbox)?
> What is the Outlook version? If you need a service grade version of MAPI,
> use the standlaone version. If you absolutely need to have Outlook
> installed, use Outlook 2002 SP3.
>
> Dmitry Streblechenko (MVP)http://www.dimastr.com/
> OutlookSpy - Outlook, CDO
> and MAPI Developer Tool
>
> "Michael" <outlookissue...@fastmail.fm> wrote in message
>
> news:a22a5b01-7e8f-4a84-9bb5-(E-Mail Removed)...
>
>
>
> > We have written a server application that periodically accesses
> > certain folders in Exchange user's mailboxes (for which the server has
> > permission) and moves the messages to the Deleted Items folder. The
> > application is a service running on Windows XP or Server 2003. It is
> > written in C# and uses the RDO methods in Redemption.dll to operate on
> > the folders and items.
>
> > This process usually goes smoothly, but every once in a while it looks
> > like the application does not move some of the messages. Upon further
> > inspection, the messages have been moved out of the folder, but the
> > OST file does not reflect the change. If we look at the
> > Synchronization tab in the Properties dialog for the folder (Outlook
> > 2007, in this case), the "Server folder contains:" value is different
> > than the "Offline folder contains:" value.
>
> > If we use the Scan OST tool from Microsoft, it repairs the problem.
> > If we use the "Clear Offline Items" button on the General tab of the
> > folder Properties, that also seems to fix the problem.
>
> > My first question is whether or not I can prevent this situation from
> > occurring, or is this some form of OST corruption as a result of
> > another process moving messages?
>
> > We also have an Outlook add-in on the client, so if we could figure
> > out a way to repair the problem programmatically, that would be a
> > reasonable workaround. I tried the ExchangeSynchronizer /
> > RDOFolderSynchronizer, but that did not help. I also tried adding
> > these folders to the Send/Receive group, and that did not work
> > either. Is there any way to get the Offline and Exchange folder in
> > sync programmatically? Any help would be appreciated.
>
> > Michael- Hide quoted text -
>
> - Show quoted text -