예제 #1
0
        static void FactoryCloseCallback(IAsyncResult result)
        {
            if (result.CompletedSynchronously)
            {
                return;
            }
            IChannelFactory factory = (IChannelFactory)result.AsyncState;

            factory.EndClose(result);
        }
예제 #2
0
 static void BindLifetimes(IChannelFactory factory, IChannel channel)
 {
     channel.Closed += delegate
     {
         IAsyncResult result = factory.BeginClose(FactoryCloseCallback, factory);
         if (result.CompletedSynchronously)
         {
             factory.EndClose(result);
         }
     };
 }
예제 #3
0
 protected override void OnEndClose(IAsyncResult result)
 {
     inner.EndClose(result);
 }
예제 #4
0
 protected override void OnEndClose(IAsyncResult result)
 {
     innerChannelFactory.EndClose(result);
 }
예제 #5
0
 public void EndClose(IAsyncResult result)
 {
     _innerChannelFactory.EndClose(result);
 }