示例#1
0
        private void RequestDTFM(FacilityRequest request)
        {
            MessageAsyncResult result = new MessageAsyncResult(this, request, null, null);

            ThreadPool.QueueUserWorkItem(RequestWaitCallback, result);
            object o = result.InternalWaitForCompletion();

            if (o is Exception)
            {
                throw ((Exception)o);
            }
        }
示例#2
0
 public void EndHangUp(IAsyncResult asyncResult)
 {
     try {
         MessageAsyncResult result = asyncResult as MessageAsyncResult;
         if (asyncResult == null || result == null)
         {
             throw (asyncResult == null) ? new ArgumentNullException("asyncResult") : new ArgumentException();
         }
         object o = result.InternalWaitForCompletion();
         if (o is Exception)
         {
             throw ((Exception)o);
         }
     } catch (Exception e) {
         Trace.TraceError("Connection#{0}::EndHangUp, Exception = {1}", ValidationHelper.HashString(this), e);
         throw;
     }
 }
示例#3
0
 public override void EndWrite(IAsyncResult asyncResult)
 {
     try {
         MessageAsyncResult result = asyncResult as MessageAsyncResult;
         if (asyncResult == null || result == null)
         {
             throw (asyncResult == null) ? new ArgumentNullException("asyncResult") : new ArgumentException();
         }
         object        o       = result.InternalWaitForCompletion();
         DataB3Request request = (DataB3Request)result.Request;
         IntPtr        ptr     = request.Data;
         if (ptr != IntPtr.Zero)
         {
             Marshal.FreeHGlobal(ptr);
         }
         if (o is Exception)
         {
             throw ((Exception)o);
         }
     } catch (Exception e) {
         Trace.TraceError("Connection#{0}::EndWriteData, Exception = {1}", ValidationHelper.HashString(this), e);
         throw;
     }
 }
示例#4
0
 private void RequestDTFM(FacilityRequest request) {
     MessageAsyncResult result = new MessageAsyncResult(this, request, null, null);
     ThreadPool.QueueUserWorkItem(RequestWaitCallback, result);
     object o = result.InternalWaitForCompletion();
     if (o is Exception) {
         throw ((Exception)o);
     }
 }