protected override WorkflowServiceHost CreateWorkflowServiceHost(WorkflowService service, Uri[] baseAddresses)
        {
            var container = new UnityContainer();
            ConfigureContainer(container);

            var host = base.CreateWorkflowServiceHost(service, baseAddresses);

            var injectionType = ConfigureInjectionType();

            if (injectionType == InjectionTypes.Push)
            {
                container.AddNewExtension<WorkflowExtension>();

                var rootActivity = host.Activity;
                container.BuildUp(rootActivity.GetType(), rootActivity);
            }
            else
            {
                var diExtension = new DependencyInjectionExtension(container);
                host.WorkflowExtensions.Add(diExtension);
            }

		    ConfigureServiceHost(host);
            return host;
        }
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().AddJsonOptions(option =>
            {
                option.JsonSerializerOptions.IgnoreNullValues = true;
            }).SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
            .AddMvcOptions(option => option.EnableEndpointRouting = true)
            .AddNewtonsoftJson(options =>
                               options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver());
            services.AddCors();
            services.AddControllers();

            DependencyInjectionExtension.WebmotorsInfrastructure(services, Configuration);

            var configuration = GetConfiguration();

            services.AddSingleton(typeof(IConfiguration), configuration);

            services.AddSwaggerDocument(config =>
            {
                config.PostProcess = document =>
                {
                    document.Info.Version = "v1";
                    document.Info.Title   = "API Webmotors Challenge";
                };
            });
        }
Exemple #3
0
 // This method gets called by the runtime. Use this method to add services to the container.
 public void ConfigureServices(IServiceCollection services)
 {
     DependencyInjectionExtension.ConfigureService(services);
     CorsExtension.ConfigureService(services);
     AuthenticationExtension.ConfigureService(services);
     MediatRExtension.ConfigureService(services);
     SwaggerExtension.ConfigureService(services);
     ControllersExtension.ConfigureService(services);
     SignalRExtension.ConfigureService(services);
 }
        public void CompositeActivityInjectedByWorkflowExtension()
        {
            var activity = _container.Resolve<CompositeActivity>();

            var diExtension = new DependencyInjectionExtension(_container);

            var wfInvoker = new WorkflowInvoker(activity);
            wfInvoker.Extensions.Add(diExtension);

            var results = wfInvoker.Invoke();

            Assert.AreEqual(45, (int)results["CompositeResult"]);
        }
        public void CompositeActivityInjectedByWorkflowExtension()
        {
            var activity = _container.Resolve <CompositeActivity>();

            var diExtension = new DependencyInjectionExtension(_container);

            var wfInvoker = new WorkflowInvoker(activity);

            wfInvoker.Extensions.Add(diExtension);

            var results = wfInvoker.Invoke();

            Assert.AreEqual(45, (int)results["CompositeResult"]);
        }
Exemple #6
0
        private static IServiceCollection ConfigureServices()
        {
            IServiceCollection services = new ServiceCollection();

            var config = LoadConfiguration();

            services.AddSingleton(config);

            services.AddMediatR(typeof(App).GetTypeInfo().Assembly, typeof(ProcessOrderRequest).GetTypeInfo().Assembly);

            DependencyInjectionExtension.ConfigureService(services);

            services.AddTransient <App>();

            return(services);
        }