示例#1
0
        /// <summary>
        /// Initiates an operation to send IM message to the remote side.
        /// </summary>
        /// <param name="callback">Callback method.</param>
        /// <param name="state">User state.</param>
        /// <returns>Async result reference.</returns>
        public IAsyncResult BeginSendImMessage(string message, AsyncCallback callback, object state)
        {
            if (this.State != ConversationModelState.Established)
            {
                throw new InvalidOperationException(ExceptionResource.InvalidState);
            }
            SendImMessageAsyncResult asyncResult = new SendImMessageAsyncResult(this, message, callback, state);

            asyncResult.Process();
            return(asyncResult);
        }
示例#2
0
 /// <summary>
 /// Waits for corresponding begin operation to complete.
 /// </summary>
 /// <param name="asyncResult">Async result from the corresponding begin method.</param>
 public void EndSendImMessage(IAsyncResult asyncResult)
 {
     if (asyncResult == null)
     {
         throw new ArgumentException(ExceptionResource.InvalidAsyncResult);
     }
     else
     {
         SendImMessageAsyncResult sendMessageAsyncResult = asyncResult as SendImMessageAsyncResult;
         if (sendMessageAsyncResult == null)
         {
             throw new ArgumentException(ExceptionResource.InvalidAsyncResult);
         }
         else
         {
             sendMessageAsyncResult.EndInvoke();
         }
     }
 }