Example #1
0
        /// <summary>
        /// Creates a new reactive processing definition object using the specified client operations provider.
        /// </summary>
        /// <param name="provider">Definition operations provider.</param>
        /// <param name="expressionServices">Expression services object, used to perform expression tree manipulations.</param>
        public ReactiveDefinition(IReactiveDefinitionEngineProvider provider, IReactiveExpressionServices expressionServices)
        {
            _provider           = provider ?? throw new ArgumentNullException(nameof(provider));
            _expressionServices = expressionServices ?? throw new ArgumentNullException(nameof(expressionServices));

            var thisParameter = ResourceNaming.GetThisReferenceExpression(this);

            expressionServices.RegisterObject(this, thisParameter);
        }
        /// <summary>
        /// Creates a new reactive processing context using the specified services and with default service objects.
        /// </summary>
        /// <param name="expressionServices">Expression tree services.</param>
        /// <param name="clientService">Client-side operation services.</param>
        /// <param name="definitionService">Definition operation services.</param>
        /// <param name="metadataService">Metadata services.</param>
        protected ReactiveServiceContext(IReactiveExpressionServices expressionServices, IReactiveClientEngineProvider clientService, IReactiveDefinitionEngineProvider definitionService, IReactiveMetadataEngineProvider metadataService)
            : this(expressionServices, new ReactiveClient(clientService, expressionServices), new ReactiveDefinition(definitionService, expressionServices), new ReactiveMetadata(metadataService, expressionServices))
        {
            var thisParameter = ResourceNaming.GetThisReferenceExpression(this);

            expressionServices.RegisterObject(this, thisParameter);
        }