예제 #1
0
 private IQueueConfiguration BuildAuditQueueConfiguration(IStatelessServiceConfiguration statelessServiceConfiguration)
 {
     return(new QueueConfiguration(
                statelessServiceConfiguration.ServiceBusConnectionString,
                statelessServiceConfiguration.AuditQueueName,
                int.Parse(statelessServiceConfiguration.AuditMaxConcurrentCalls)));
 }
        public static ConfigurationRootModel BuildContainer(
            ContainerBuilder containerBuilder,
            IServiceFabricConfigurationService serviceFabricConfigurationService)
        {
            IStatelessServiceConfiguration statelessServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAsStatelessServiceConfiguration();

            containerBuilder.RegisterModule(new StatelessServiceModule(statelessServiceConfiguration));

            ReportServiceConfiguration reportServiceConfiguration = serviceFabricConfigurationService.GetConfigSectionAs <ReportServiceConfiguration>("ReportServiceConfiguration");
            AzureStorageOptions        azureBlobStorageOptions    = serviceFabricConfigurationService.GetConfigSectionAs <AzureStorageOptions>("AzureStorageSection");
            VersionInfo versionInfo = serviceFabricConfigurationService.GetConfigSectionAs <VersionInfo>("VersionSection");

            // register message mapper
            containerBuilder.RegisterType <DefaultJobContextMessageMapper <JobContextMessage> >().As <IMapper <JobContextMessage, JobContextMessage> >();

            // register MessageHandler
            containerBuilder.RegisterType <MessageHandler>().As <IMessageHandler <JobContextMessage> >().InstancePerLifetimeScope();

            containerBuilder.RegisterType <JobContextManager <JobContextMessage> >().As <IJobContextManager <JobContextMessage> >()
            .InstancePerLifetimeScope();

            containerBuilder.RegisterType <JobContextMessage>().As <IJobContextMessage>()
            .InstancePerLifetimeScope();

            containerBuilder.RegisterModule <SerializationModule>();

            return(new ConfigurationRootModel
            {
                reportServiceConfiguration = reportServiceConfiguration,
                azureBlobStorageOptions = azureBlobStorageOptions,
                versionInfo = versionInfo
            });
        }
예제 #3
0
 private ITopicConfiguration BuildTopicConfiguration(IStatelessServiceConfiguration statelessServiceConfiguration)
 {
     return(new TopicConfiguration(
                statelessServiceConfiguration.ServiceBusConnectionString,
                statelessServiceConfiguration.TopicName,
                statelessServiceConfiguration.SubscriptionName,
                int.Parse(statelessServiceConfiguration.TopicMaxConcurrentCalls),
                maximumCallbackTimeSpan: TimeSpan.FromMinutes(int.Parse(statelessServiceConfiguration.TopicMaxCallbackTimeSpanMinutes))));
 }
예제 #4
0
 public StatelessBaseModule(IStatelessServiceConfiguration statelessServiceConfiguration)
 {
     _statelessServiceConfiguration = statelessServiceConfiguration;
 }