public IEndpoint CreateEndpoint(Uri requestedUri) { string scheme = requestedUri.Scheme.ToLowerInvariant(); if (_transportFactories.Has(scheme)) { ITransportFactory transportFactory = _transportFactories[scheme]; try { IEndpointAddress address = transportFactory.GetAddress(requestedUri); var uriPath = new Uri(address.Uri.GetLeftPart(UriPartial.Path)); IEndpointBuilder builder = _endpointBuilders.Get(uriPath, key => { var configurator = new EndpointConfigurator(address, _defaults); return(configurator.CreateBuilder()); }); return(builder.CreateEndpoint(transportFactory)); } catch (Exception ex) { throw new EndpointException(requestedUri, "Failed to create endpoint", ex); } } throw new ConfigurationException( "The {0} scheme was not handled by any registered transport.".FormatWith(requestedUri.Scheme)); }
/// <summary> /// Returns a configurator for the specified endpoint URI /// </summary> /// <param name="configurator"></param> /// <param name="uri"></param> /// <returns></returns> public static IEndpointConfigurator ConfigureEndpoint <T>(this T configurator, Uri uri) where T : IEndpointFactoryConfigurator { var endpointConfigurator = new EndpointConfigurator(new EndpointAddress(uri), configurator.Defaults); configurator.AddEndpointFactoryConfigurator(endpointConfigurator); return(endpointConfigurator); }
public static void Initialize(TestContext context) { DeleteDbFile(); var configurator = new EndpointConfigurator(); var config = configurator.Configure(new HttpConfiguration()); Server = new HttpServer(config); Client = new HttpClient(Server); }
/// <summary> /// Configures the endpoint for the specified URI /// </summary> /// <param name="configurator"></param> /// <param name="uri"></param> /// <param name="configureCallback"></param> public static T ConfigureEndpoint <T>(this T configurator, Uri uri, Action <EndpointConfigurator> configureCallback) where T : EndpointFactoryConfigurator { EndpointConfigurator endpointConfigurator = configurator.ConfigureEndpoint(uri); configureCallback(endpointConfigurator); return(configurator); }
/// <summary> /// Configures the endpoint for the specified endpoint URI /// </summary> /// <param name="configurator"></param> /// <param name="uriString"></param> /// <param name="configureCallback"></param> /// <returns></returns> public static T ConfigureEndpoint <T>(this T configurator, string uriString, Action <EndpointConfigurator> configureCallback) where T : EndpointFactoryConfigurator { EndpointConfigurator endpointConfigurator = configurator.ConfigureEndpoint(uriString.ToUri("The configure endpoint URI is invalid")); configureCallback(endpointConfigurator); return(configurator); }
public static void Initialize(TestContext context) { //Configure the UowFactory to create a new database and seed sample data UowFactory.Configure(true, true); DeleteDbFile(); var configurator = new EndpointConfigurator(); var config = configurator.Configure(new HttpConfiguration()); Server = new HttpServer(config); Client = new HttpClient(Server); }
public void ConfigureEndpoint( Action<EndpointConfigurator> configurate ) { var configurator = new EndpointConfigurator(); configurate( configurator ); var endpoint = configurator.RabbitEndpoint; AddEndpoint( endpoint ); if ( !string.IsNullOrEmpty( endpoint.QueueName ) ) { SubscriptionFactory.CreateSubscription( endpoint, configurator.Subscribe ); } }
/// <summary> /// Overrides the default error address with a new error address /// </summary> /// <returns></returns> public static EndpointConfigurator SetErrorAddress(this EndpointConfigurator configurator, string uriString) { return(configurator.SetErrorAddress(uriString.ToUri("Error URI was not valid"))); }
/// <summary> /// Specifies a null transport for error messages /// </summary> /// <param name="configurator"></param> public static EndpointConfigurator DiscardFaultingMessages(this EndpointConfigurator configurator) { return(configurator.SetErrorTransportFactory((factory, settings) => new NullOutboundTransport(settings.Address))); }
/// <summary> /// Specify a serializer for this endpoint (overrides the default) /// </summary> /// <param name="configurator"></param> /// <param name="serializerType"></param> public static EndpointConfigurator UseSerializer(this EndpointConfigurator configurator, Type serializerType) { return(configurator.UseSerializer((IMessageSerializer)FastActivator.Create(serializerType))); }
/// <summary> /// Specify a serializer for this endpoint (overrides the default) /// </summary> /// <typeparam name="TSerializer"></typeparam> public static EndpointConfigurator UseSerializer <TSerializer>(this EndpointConfigurator configurator) where TSerializer : IMessageSerializer, new() { return(configurator.UseSerializer(new TSerializer())); }