public Endpoint([NotNull] IEndpointAddress address, [NotNull] IMessageSerializer serializer, [NotNull] IDuplexTransport transport, [NotNull] IOutboundTransport errorTransport, [NotNull] IInboundMessageTracker messageTracker) { if (address == null) { throw new ArgumentNullException("address"); } if (serializer == null) { throw new ArgumentNullException("serializer"); } if (transport == null) { throw new ArgumentNullException("transport"); } if (errorTransport == null) { throw new ArgumentNullException("errorTransport"); } if (messageTracker == null) { throw new ArgumentNullException("messageTracker"); } _address = address; _errorTransport = errorTransport; _serializer = serializer; _tracker = messageTracker; _transport = transport; _disposedMessage = string.Format("The endpoint has already been disposed: {0}", _address); }
public IEndpoint CreateEndpoint(ITransportFactory transportFactory) { try { IDuplexTransport transport = _transportFactory(transportFactory, _settings); IOutboundTransport errorTransport = _errorTransportFactory(transportFactory, _errorSettings); IInboundMessageTracker tracker = _messageTrackerFactory(); var endpoint = new Endpoint(transport.Address, _settings.Serializer, transport, errorTransport, tracker); return(endpoint); } catch (Exception ex) { throw new EndpointException(_address.Uri, "Failed to create endpoint", ex); } }