Waits until the currently running (if any) asynchronous method is finished.
This method should only be used in WinForms applications in the scenarios when the application message loop is blocked and events raised by asynchronous methods get no chance to be processed.
CAUTION RaiseEventsViaMessageLoop property must be set to false prior to using this method. This is required in order to switch event marshalling mechanism from sending events to the application message loop to the internal thread-independent event processor.
Usually, when the developer uses asynchronous methods which might raise events, it's not possible to use methods like WaitOne, since they would block the message loop and thus prevent events (which are raised on the message loop thread) from getting processed. Wait method provides an alternative approach which addresses the problem.
Another alternative (in WinForms application) to using Wait method is to never block the application message loop and use callback functions instead of waiting for asynchronous method completion.
Note In many cases, it's easier not to use events at all but derive a new class from Smtp class and override corresponding OnEventName method in order to get the developer-supplied code executed. See OnConnected method documentation for more information.
| Exception Type | Condition |
|---|---|
| MailBeeInvalidStateException | RaiseEventsViaMessageLoop is true |
Smtp Class | MailBee.SmtpMail Namespace | Smtp.Wait Overload List