ImapBeginConnect Method |
Note: This API is now obsolete.
Namespace: MailBee.ImapMail
[ObsoleteAttribute("This method is obsolete in .NET 4.5+. Use ConnectAsync instead.")] public IAsyncResult BeginConnect( string serverName, int port, Socket socketToUse, EndPoint localEndPoint, AsyncCallback callback, Object state )
Exception | Condition |
---|---|
MailBeeInvalidStateException | There is already an operation in progress. |
This method is an asynchronous version of Connect(String, Int32, Socket, EndPoint).
A reference to the state object will be available in the events raised by this method through the State property value. This is also valid for the rest of asynchronous methods in MailBee.
// To use the code below, import MailBee namespaces at the top of your code. using MailBee; using MailBee.ImapMail; // Put the code below inside your class. // "Connected" event handler. private void OnConnected(object sender, ConnectedEventArgs e) { Console.WriteLine("Connected to the server"); } // The actual code. private void Form1_Load(object sender, System.EventArgs e) { Imap imp = new Imap(); // Let MailBee process events. imp.RaiseEventsViaMessageLoop = false; imp.Connected += new ConnectedEventHandler(OnConnected); // Initiate an asynchronous connection. imp.BeginConnect("imap.somehost.com", 143, null, null, null, null); // Simulate some lengthy work here... for (int i = 0; i < 100; i++) { // Make a portion of the work. System.Threading.Thread.Sleep(10); // Process events which were raised during execution of the work above. imp.Wait(0); } // If the connection was not established during execution of the lengthy // work, wait until it's established. imp.Wait(); // End the connection request. imp.EndConnect(); // Connected to the server! // Disconnect from the server. imp.Disconnect(); }
using System; using MailBee; using MailBee.ImapMail; using MailBee.Mime; class Sample { // "Connected" event handler. private static void OnConnected(object sender, ConnectedEventArgs e) { Console.WriteLine("Connected to the server"); } // The actual code. static void Main(string[] args) { Imap imp = new Imap(); imp.Connected += new ConnectedEventHandler(OnConnected); // Initiate an asynchronous connection. imp.BeginConnect("imap.somehost.com", 143, null, null, null, null); // Simulate some lengthy work here... System.Threading.Thread.Sleep(1000); // If the connection was not established during execution of the lengthy work, // wait until it's established, and end the connection request. imp.EndConnect(); // Connected to the server! // Disconnect from the server. imp.Disconnect(); } }