Beispiel #1
0
        public AzureFunctionsFabric(
            ISerializerFactorySelector serializerFactorySelector,
            INumericIdGenerator idGenerator,
            ITransitionRunner transitionRunner,
            IAzureWebJobsEnviromentalSettings azureWebJobsEnviromentalSettings,
            ICloudStorageAccountFactory cloudStorageAccountFactory,
            AzureFunctionsFabricSettings settings,
            IServiceProxyBuilder serviceProxyBuilder,
            IRoutineMethodResolver routineMethodResolver,
            IMethodInvokerFactory methodInvokerFactory,
            IServiceRegistry serviceRegistry)
        {
            _transitionRunner      = transitionRunner;
            _idGenerator           = idGenerator;
            _settings              = settings;
            _serviceProxyBuilder   = serviceProxyBuilder;
            _routineMethodResolver = routineMethodResolver;
            _methodInvokerFactory  = methodInvokerFactory;
            _serviceRegistry       = serviceRegistry;

#warning Need configurable serializer
            // Hard-code this for now.
            _defaultSerializer = serializerFactorySelector.Select("dasyncjson").Create();

            _storageAccountConnectionString = azureWebJobsEnviromentalSettings.DefaultStorageConnectionString;
            _storageAccount = cloudStorageAccountFactory.Create(_storageAccountConnectionString);

            //#warning make sure that site name is alpha-numeric and does not start with a number
            //            var prefix = azureWebJobsEnviromentalSettings.WebSiteName.ToLowerInvariant();
            var prefix = "";
            _routinesTable = _storageAccount.TableClient.GetTableReference(prefix + "routines");
            _servicesTable = _storageAccount.TableClient.GetTableReference(prefix + "services");
        }
Beispiel #2
0
        public Bootstrapper(
            IAppIocContainerProvider[] appIocContainerProviders,
            //IAppServiceDiscoveryFromCodeMarkup appServiceDiscoveryFromCodeMarkup,
            //IAppServiceRegistrationInfoExtractor appServiceRegistrationInfoExtractor,
            //IAppServiceDiscoveryFromRuntimeCollection appServiceDiscoveryFromRuntimeCollection,
            IServiceRegistry serviceRegistry,
            AppServiceIocContainerProxy.Holder appIocContainerHolder,
            IServiceProxyBuilder serviceProxyBuilder,
            IFabric[] registeredFabrics,
            ICurrentFabric currentFabricHolder,
            IServicePublisher[] servicePublishers,
            IServiceRegistryUpdaterViaDiscovery serviceRegistryUpdaterViaDiscovery)
        {
            _appIocContainerProviders = appIocContainerProviders;
            //_appServiceDiscoveryFromCodeMarkup = appServiceDiscoveryFromCodeMarkup;
            //_appServiceRegistrationInfoExtractor = appServiceRegistrationInfoExtractor;
            //_appServiceDiscoveryFromRuntimeCollection = appServiceDiscoveryFromRuntimeCollection;
            _serviceRegistry       = serviceRegistry;
            _appIocContainerHolder = appIocContainerHolder;
            _serviceProxyBuilder   = serviceProxyBuilder;

            if (registeredFabrics.Length > 1)
            {
                throw new InvalidOperationException("Multi-fabric is not supported.");
            }

            if (registeredFabrics.Length == 1)
            {
                _fabric = registeredFabrics[0];
                ((ICurrentFabricSetter)currentFabricHolder).SetInstance(_fabric);
            }

            _servicePublishers = servicePublishers;
            _serviceRegistryUpdaterViaDiscovery = serviceRegistryUpdaterViaDiscovery;
        }
Beispiel #3
0
 public TransitionRunner(
     ITransitionScope transitionScope,
     ITransitionCommitter transitionCommitter,
     IServiceProxyBuilder serviceProxyBuilder,
     IRoutineMethodResolver routineMethodResolver,
     IAsyncStateMachineMetadataProvider asyncStateMachineMetadataProvider,
     IMethodInvokerFactory methodInvokerFactory,
     IServiceStateValueContainerProvider serviceStateValueContainerProvider,
     IntrinsicRoutines intrinsicRoutines,
     INumericIdGenerator idGenerator)
 {
     _transitionScope                    = transitionScope;
     _transitionCommitter                = transitionCommitter;
     _serviceProxyBuilder                = serviceProxyBuilder;
     _routineMethodResolver              = routineMethodResolver;
     _asyncStateMachineMetadataProvider  = asyncStateMachineMetadataProvider;
     _methodInvokerFactory               = methodInvokerFactory;
     _serviceStateValueContainerProvider = serviceStateValueContainerProvider;
     _intrinsicRoutines                  = intrinsicRoutines;
     _idGenerator = idGenerator;
 }
 public TransitionRunner(
     ITransitionScope transitionScope,
     ITransitionCommitter transitionCommitter,
     IServiceProxyBuilder serviceProxyBuilder,
     IRoutineMethodResolver routineMethodResolver,
     IAsyncStateMachineMetadataProvider asyncStateMachineMetadataProvider,
     IMethodInvokerFactory methodInvokerFactory,
     //IServiceStateValueContainerProvider serviceStateValueContainerProvider,
     IntrinsicRoutines intrinsicRoutines,
     IUniqueIdGenerator idGenerator,
     ITaskCompletionSourceRegistry taskCompletionSourceRegistry)
 {
     _transitionScope                   = transitionScope;
     _transitionCommitter               = transitionCommitter;
     _serviceProxyBuilder               = serviceProxyBuilder;
     _routineMethodResolver             = routineMethodResolver;
     _asyncStateMachineMetadataProvider = asyncStateMachineMetadataProvider;
     _methodInvokerFactory              = methodInvokerFactory;
     //_serviceStateValueContainerProvider = serviceStateValueContainerProvider;
     _intrinsicRoutines            = intrinsicRoutines;
     _idGenerator                  = idGenerator;
     _taskCompletionSourceRegistry = taskCompletionSourceRegistry;
 }