protected sealed override void Initialize(IServiceProvider provider)
 {
     if (provider == null)
     {
         throw new ArgumentNullException("provider");
     }
     if ((!base.IsDynamicActivity && !this.IsNestedUnderMultiInstanceContainer) || this.IsInitializingUnderMultiInstanceContainer)
     {
         Type        interfaceType = this.InterfaceType;
         string      eventName     = this.EventName;
         IComparable comparable    = null;
         if (CorrelationResolver.IsInitializingMember(interfaceType, eventName, null))
         {
             comparable = new EventQueueName(interfaceType, eventName);
         }
         base.SetValue(QueueNameProperty, comparable);
         CorrelationService.Initialize(provider, this, interfaceType, eventName, base.WorkflowInstanceId);
     }
 }
Beispiel #2
0
        protected sealed override void Initialize(IServiceProvider provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            //When activity is dropped inside multi instance container(replicator)
            //We delay CorrelationService initialization to template initialization time.
            if ((!this.IsDynamicActivity && !IsNestedUnderMultiInstanceContainer) || IsInitializingUnderMultiInstanceContainer)
            {
                Type        type      = this.InterfaceType;
                string      eventName = this.EventName;
                IComparable queueName = null;
                if (CorrelationResolver.IsInitializingMember(type, eventName, null))
                {
                    queueName = new EventQueueName(type, eventName);
                }
                this.SetValue(QueueNameProperty, queueName);

                CorrelationService.Initialize(provider, this, type, eventName, this.WorkflowInstanceId);
            }
        }