Пример #1
0
        public async static Task <CarWorkerHostDependencyResolver> CreateAsync()
        {
            var resolver = new CarWorkerHostDependencyResolver();
            await resolver.InitializeAsync();

            return(resolver);
        }
Пример #2
0
        public override bool OnStart()
        {
            try
            {
                // Register the dependency resolver for initializing handlers and service
                // classes.
                var resolver = CarWorkerHostDependencyResolver.CreateAsync().Result;
                DependencyResolverFactory.Register(
                    resolver
                    );

                // Set up the process defaults for connections to optimize storage performance
                ServicePointManager.DefaultConnectionLimit = int.MaxValue;

                var configuration = DispatcherConfiguration.GetCurrentConfiguration();

                var typesToSearchForHandlers = typeof(UpdateLocationHandler)
                                               .Assembly
                                               .DefinedTypes;

                _coordinator = ProcessingCoordinator.CreateAsync(
                    RoleEnvironment.CurrentRoleInstance.Id,
                    configuration.EventHubName,
                    configuration.ConsumerGroupName,
                    configuration.EventHubConnectionString,
                    configuration.CheckpointStorageAccount,
                    configuration.MaxBatchSize,
                    configuration.PrefetchCount,
                    configuration.ReceiveTimeout,
                    configuration.MaxConcurrencyPerProcessor,
                    typesToSearchForHandlers,
                    (name, partitionId) =>
                    new CircuitBreaker(
                        name,
                        partitionId,
                        configuration.CircuitBreakerWarningLevel,
                        configuration.CircuitBreakerTripLevel,
                        configuration.CircuitBreakerStallInterval,
                        configuration.CircuitBreakerLogCooldownInterval),
                    new DispatcherInstrumentationManager(instrumentationEnabled: true).CreatePublisher("WaWorkerHost")).Result;

                bool result = base.OnStart();

                return(result);
            }
            catch (Exception ex)
            {
                // Hard error on startup, usually configuration or security related
                // Ensure that we log this error, including a direct post to the local
                // event log
                LogHelpers.HandleRoleException(Logger, "OnStart()", ex);
                throw;
            }
        }
 public async static Task<CarWorkerHostDependencyResolver> CreateAsync()
 {
     var resolver = new CarWorkerHostDependencyResolver();
     await resolver.InitializeAsync();
     return resolver;
 }