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); } }
public Task <TryAsyncResult <RequestContext> > TryReceiveAsync(CancellationToken token) { return(channelBinder.TryReceiveAsync(token)); }