Cancels a currently executing command.
Since it is possible for a network connection to stop
responding, it is important in interactive applications to have a
way to cancel a command that is waiting on a network operation
(connect, send, or receive). For this reason, the
Imap4Client class provides a Cancel method, which
promptly terminates any currently executing client command.
Cancel is the only method that is safe to call from
another thread. In a typical situation, you have one thread that
executes IMAP4 commands, and another thread that serves the user
interface. A user action to cancel is serviced by the user
interface thread, which calls Cancel on the
Imap4Client instance to cancel a command. The command
method may then throw an instance of Hunny.Mail.Exception with the
value of ErrorCode set to ErrorCode.TimedOut. (It
will throw the exception if the cancel operation occurred
before the command was completed.)
Because it is difficult to recover the client/server state
after a cancel operation, the library closes the connection
whenever you call the Cancel method. You must call Connect again to reconnect to the IMAP4
server. The Connect method should not be called
from the same thread thread that called Cancel.
Note: Since all network operations will timeout, you
do not need to use Cancel in non-interactive applications.
Instead, you can just let the timeout timer stop any stalled
network operation.
Imap4Client Class | Hunny.Mail Namespace