void CreateChannel(EndpointAddress address, Uri listenUri) { Exception exception = null; try { this.innerChannel = this.discoveryClientChannelBase.innerChannelFactory.CreateChannel( address, listenUri); } catch (ArgumentException argumentException) { exception = argumentException; } catch (InvalidOperationException invalidOperationException) { exception = invalidOperationException; } catch (CommunicationException communicationException) { exception = communicationException; this.CompleteOnce(communicationException); } finally { if (exception != null && TD.InnerChannelCreationFailedIsEnabled()) { TD.InnerChannelCreationFailed(address.ToString(), listenUri.ToString(), exception); } } }
static void TraceInnerChannelFailure(TChannel innerChannel, EndpointAddress to, Uri via, Exception exception) { if (innerChannel == null && TD.InnerChannelCreationFailedIsEnabled()) { TD.InnerChannelCreationFailed(to.ToString(), via.ToString(), exception); } else if (innerChannel != null && TD.InnerChannelOpenFailedIsEnabled()) { TD.InnerChannelOpenFailed(to.ToString(), via.ToString(), exception); } }