public static IValueContainer CreateContainer(
            this IServiceStateValueContainerProvider serviceStateValueContainerFactory,
            object serviceInstance)
        {
            var serviceType      = serviceInstance.GetType();
            var containerFactory = serviceStateValueContainerFactory.GetContainerFactory(serviceType);

            return(containerFactory.Create(serviceInstance));
        }
Example #2
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;
 }