コード例 #1
0
 public ContextCapturingControllerActivator(
     Func<TaskCompletionSource<ContextWrapper>> promiseFactory,
     IHttpControllerActivator activator)
 {
     _activator = activator;
     _promiseFactory = promiseFactory;
 }
コード例 #2
0
        public void Initialize(HttpConfiguration configuration, Pandora pandora)
        {
            var container = new Container();
            container.RegisterSingleton<Pandora>(() => pandora);
            Func<IPipelineTransport> transport = () => container.Resolve<IPipelineTransport>();
            Func<ISerializer> serializer = () => container.Resolve<ISerializer>();
            container.RegisterSingleton<IPublisher<ICommand>>(() => new PipelinePublisher<ICommand>(transport(), serializer()));

            var serviceLocator = new ServiceLocator(container);
            ControllerFactory = new ServiceLocatorFactory(serviceLocator);

            var cfg = new CronusSettings(container)
                  .UseCluster(cluster =>
                       cluster.UseAggregateRootAtomicAction(atomic =>
                       {
                           if (pandora.Get<bool>("enable_redis_atomic_action"))
                               atomic.UseRedis(redis => redis.SetLockEndPoints(pandora.Get("redis_endpoints").ParseIPEndPoints(";")));
                           else
                               atomic.WithInMemory();
                       }))
                  .UseContractsFromAssemblies(new[] { Assembly.GetAssembly(typeof(PushNotificationWasSent)) })
                  .UseRabbitMqTransport(x =>
                  {
                      x.Server = pandora.Get("rabbitmq_server");
                      x.Username = pandora.Get("rabbitmq_username");
                      x.Password = pandora.Get("rabbitmq_password");
                      x.VirtualHost = pandora.Get("rabbitmq_virtualhost");
                  });

            (cfg as ICronusSettings).Build();
        }
コード例 #3
0
        public HttpControllerActivatorTracer(IHttpControllerActivator innerActivator, ITraceWriter traceWriter)
        {
            Contract.Assert(innerActivator != null);
            Contract.Assert(traceWriter != null);

            _innerActivator = innerActivator;
            _traceWriter = traceWriter;
        }
コード例 #4
0
        public PerControllerConfigActivator(IHttpControllerActivator innerActivator)
        {
            if (innerActivator == null)
            {
                throw new ArgumentNullException("innerActivator");
            }

            _innerActivator = innerActivator;
        }
コード例 #5
0
 public WireUpApiStartable(HttpConfiguration config,
                           IHttpControllerActivator controllerActivator,
                           IHttpControllerSelector controllerSelector,
                           ApiKeyHandler apiKeyHandler)
 {
     _config = config;
     _controllerActivator = controllerActivator;
     _controllerSelector = controllerSelector;
     _apiKeyHandler = apiKeyHandler;
 }
コード例 #6
0
        private static HttpConfiguration GetWebApiConfiguration(IHttpControllerActivator controllerActivator)
        {
            var config = new HttpConfiguration();

            config.Services.Replace(typeof (IHttpControllerTypeResolver),
                new SingleHttpControllerTypeResolver<TheaterController>());
            config.Services.Replace(typeof (IHttpControllerActivator),
                controllerActivator);
            config.MapHttpAttributeRoutes();

            return config;
        }
コード例 #7
0
 public TestControllerActivator(IHttpControllerActivator decorated, Func <IRooms> roomsRepositoryFactory)
 {
     this._decorated = decorated;
     this._roomsRepositoryFactory = roomsRepositoryFactory;
 }
コード例 #8
0
 internal RaygunWebApiControllerActivator(IHttpControllerActivator concreteActivator, IRaygunWebApiClientProvider clientCreator)
 {
     _concreteActivator = concreteActivator;
       _clientCreator = clientCreator;
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="WindsorHttpControllerActivator" /> class.
 /// </summary>
 /// <param name="container">The container.</param>
 /// <param name="defaultActivator">The default activator.</param>
 public WindsorHttpControllerActivator(IWindsorContainer container, IHttpControllerActivator defaultActivator)
 {
     this.container = container;
       this.defaultActivator = defaultActivator;
 }
 public HttpControllerActivatorTracer(IHttpControllerActivator innerActivator, ITraceWriter traceWriter)
 {
     _innerActivator = innerActivator;
     _traceWriter = traceWriter;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DataObjectControllerActivator"/> class.
        /// </summary>
        /// <param name="fallbackActivator">Activator for all controllers except <see cref="DataObjectController"/>.</param>
        public DataObjectControllerActivator(IHttpControllerActivator fallbackActivator)
        {
            Contract.Requires <ArgumentNullException>(fallbackActivator != null);

            _fallbackActivator = fallbackActivator;
        }
コード例 #12
0
 public HttpControllerActivatorTracer(IHttpControllerActivator innerActivator, ITraceWriter traceWriter)
 {
     _innerActivator = innerActivator;
     _traceWriter    = traceWriter;
 }
コード例 #13
0
 public SimpleControllerActicator(string prefix, IHttpControllerActivator nestedActivator, Scheduler scheduler)
 {
     _prefix = prefix;
     _nestedActivator = nestedActivator;
     _scheduler = scheduler;
 }
コード例 #14
0
 public MyControllerActivator(Container container, IHttpControllerActivator original)
 {
     this.container = container;
     this.original  = original;
 }
コード例 #15
0
 private static void ConfigureServices(HttpConfiguration configuration, IHttpControllerActivator activator)
 {
     configuration.Services.Replace(typeof(IHttpControllerActivator), activator);
 }
コード例 #16
0
 public static void Configure(HttpConfiguration configuration, IHttpControllerActivator activator)
 {
     ConfigureRoutes(configuration);
     ConfigureServices(configuration, activator);
     ConfigureFormatting(configuration);
 }
コード例 #17
0
 /// <summary>
 /// Creates an UnityControllerActivator instance.
 /// </summary>
 /// <param name="activator">Base activator.</param>
 public WebApiUnityControllerActivator(IHttpControllerActivator activator)
 {
     _activator = activator ?? throw new ArgumentException("activator");
 }
コード例 #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UnityControllerActivator"/> class.
 /// </summary>
 /// <param name="unity">The unity.</param>
 /// <param name="baseActivator">The base activator.</param>
 public UnityControllerActivator(IUnityContainer unity, IHttpControllerActivator baseActivator)
 {
     _unity         = unity;
     _baseActivator = baseActivator;
 }