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"; }; }); }
// 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"]); }
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); }