public async static Task <CarWorkerHostDependencyResolver> CreateAsync() { var resolver = new CarWorkerHostDependencyResolver(); await resolver.InitializeAsync(); return(resolver); }
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; }