public IInboundTransport GetInboundTransport(Uri uri) { string key = uri.ToString().ToLowerInvariant(); IInboundTransport transport; if (_inboundTransports.TryGetValue(key, out transport)) { return(transport); } try { ITransportSettings settings = new TransportSettings(new EndpointAddress(uri)); transport = _transportFactory.BuildInbound(settings); _inboundTransports.TryAdd(uri.ToString().ToLowerInvariant(), transport); return(transport); } catch (Exception ex) { throw new TransportException(uri, "Failed to create inbound transport", ex); } }