コード例 #1
0
 internal async Task <TryAsyncResult <RequestContext> > TryReceiveAsync(CancellationToken token)
 {
     try
     {
         return(await binder.TryReceiveAsync(token));
     }
     catch (CommunicationObjectAbortedException)
     {
         return(TryAsyncResult.FromResult((RequestContext)null));
     }
     catch (CommunicationObjectFaultedException)
     {
         return(TryAsyncResult.FromResult((RequestContext)null));
     }
     catch (CommunicationException e)
     {
         HandleError(e);
         return(TryAsyncResult <RequestContext> .FailedResult);
     }
     catch (TimeoutException e)
     {
         HandleError(e);
         return(TryAsyncResult <RequestContext> .FailedResult);
     }
     catch (Exception e)
     {
         if (Fx.IsFatal(e))
         {
             throw;
         }
         HandleErrorOrAbort(e);
         return(TryAsyncResult <RequestContext> .FailedResult);
     }
 }
コード例 #2
0
 public Task <TryAsyncResult <RequestContext> > TryReceiveAsync(CancellationToken token)
 {
     return(channelBinder.TryReceiveAsync(token));
 }