public void Execute(WebServicePublisherConfig config) { Container.RegisterInstance(config, If <WebServicePublisherConfig> .IsNotRegistered); if (!Container.IsRegistered <INotificationRepository>()) { var repoConfig = new FileSystemNotificationRepositoryConfig { BaseFolder = config.BaseFolder }; Container.RegisterInstance(repoConfig); Container.RegisterAsTransient <INotificationRepository>( typeof(FileSystemNotificationRepository)); } if (!Container.IsRegistered <IWebServicePublisherStrategy>()) { var clientConfig = new WolfpackWebServicesClientConfig(); clientConfig.InjectFrom <LoopValueInjection>(config); Container.RegisterInstance(clientConfig); Container.RegisterAsTransient <IWolfpackWebServicesClient>(typeof(WolfpackWebServicesClient)); Container.RegisterAll <IPipelineStep <WebServicePublisherContext> >(); Container.RegisterAsTransient <IWebServicePublisherStrategy>( typeof(WebServicePublisherStrategy)); } }
public void Execute(WebServiceActivityConfig config) { var tracker = new ActivityTracker(); Container.RegisterInstance(tracker); Container.RegisterAsSingleton <IWebServiceExtender>(typeof(CoreServicesExtender)); if (!Container.IsRegistered <IWebServiceReceiverStrategy>()) { if (!Container.IsRegistered <INotificationRepository>()) { var repoConfig = new FileSystemNotificationRepositoryConfig { BaseFolder = SmartLocation.GetLocation("_notifications") }; Container.RegisterInstance(repoConfig); Container.RegisterAsTransient <INotificationRepository>( typeof(FileSystemNotificationRepository)); } if (!Container.IsRegistered <MessageStalenessCheckConfig>()) { Container.RegisterAsSingleton(typeof(MessageStalenessCheckConfig)); } Container.RegisterAll <IPipelineStep <WebServiceReceiverContext> >(); Container.RegisterAsTransient <IWebServiceReceiverStrategy>(typeof(WebServiceReceiverStrategy)); } }