예제 #1
0
        protected override void InitializeRuntime()
        {
            if (base.Description != null)
            {
                FixupEndpoints();
                this.SetScopeName();
                if (this.DurableInstancingOptions.ScopeName == null)
                {
                    this.DurableInstancingOptions.ScopeName = XNamespace.Get(this.Description.Namespace).GetName(this.Description.Name);
                }
            }

            base.InitializeRuntime();

            this.WorkflowServiceHostPerformanceCounters.InitializePerformanceCounters();

            this.ServiceName = XNamespace.Get(this.Description.Namespace).GetName(this.Description.Name);

            // add a host-wide SendChannelCache (with default settings) if one doesn't exist
            this.workflowExtensions.EnsureChannelCache();

            // add a host-wide (free-threaded) CorrelationExtension based on our ServiceName
            this.WorkflowExtensions.Add(new CorrelationExtension(this.DurableInstancingOptions.ScopeName));

            this.WorkflowExtensions.MakeReadOnly();

            // now calculate if IsLoadTransactionRequired
            this.IsLoadTransactionRequired = WorkflowServiceInstance.IsLoadTransactionRequired(this);

            if (this.serviceDefinition != null)
            {
                ValidateBufferedReceiveProperty();
                this.serviceDefinition.ResetServiceDescription();
            }
        }
예제 #2
0
 protected override void InitializeRuntime()
 {
     if (base.Description != null)
     {
         this.FixupEndpoints();
         if (this.DurableInstancingOptions.ScopeName == null)
         {
             this.DurableInstancingOptions.ScopeName = XNamespace.Get(base.Description.Namespace).GetName(base.Description.Name);
         }
     }
     base.InitializeRuntime();
     this.ServiceName = XNamespace.Get(base.Description.Namespace).GetName(base.Description.Name);
     this.workflowExtensions.EnsureChannelCache();
     this.WorkflowExtensions.Add(new CorrelationExtension(this.DurableInstancingOptions.ScopeName));
     this.WorkflowExtensions.MakeReadOnly();
     this.IsLoadTransactionRequired = WorkflowServiceInstance.IsLoadTransactionRequired(this);
     if (this.serviceDefinition != null)
     {
         this.ValidateBufferedReceiveProperty();
         this.serviceDefinition.ResetServiceDescription();
     }
 }