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); } }
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); } }