Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / LocalService / FollowerQueueCreator.cs / 1305376 / FollowerQueueCreator.cs
#region Using directives using System; using System.Diagnostics; using System.Collections.Generic; using System.Collections; using System.Reflection; using System.Runtime.Serialization; using System.Workflow.ComponentModel; using System.Workflow.Runtime; using System.Workflow.Runtime.Hosting; using System.Runtime.Remoting.Messaging; #endregion namespace System.Workflow.Activities { [Serializable] internal sealed class FollowerQueueCreator : IActivityEventListener{ string followerOperation; object [....] = new object(); internal FollowerQueueCreator(string operation) { this.followerOperation = operation; } public override bool Equals(object obj) { if (obj == null) return false; FollowerQueueCreator equalsObject = obj as FollowerQueueCreator; if (this.followerOperation == equalsObject.followerOperation) return true; return false; } public override int GetHashCode() { return this.followerOperation.GetHashCode(); } #region IActivityEventListener Members void IActivityEventListener .OnEvent(object sender, QueueEventArgs args) { lock ([....]) { WorkflowQueue queue = (WorkflowQueue)sender; // create the queue after extracting the correlation values from the message EventQueueName staticId = (EventQueueName)queue.QueueName; WorkflowActivityTrace.Activity.TraceEvent(TraceEventType.Information, 0, "FollowerQueueCreator: initialized on operation {0} for follower {1}", staticId.InterfaceType.Name + staticId.MethodName, this.followerOperation); IMethodMessage message = queue.Peek() as IMethodMessage; ICollection corrValues = CorrelationResolver.ResolveCorrelationValues(staticId.InterfaceType, staticId.MethodName, message.Args, false); EventQueueName queueName = new EventQueueName(staticId.InterfaceType, this.followerOperation, corrValues); if (!queue.QueuingService.Exists(queueName)) { WorkflowActivityTrace.Activity.TraceEvent(TraceEventType.Information, 0, "FollowerQueueCreator::CreateQueue creating q {0}", queueName.GetHashCode()); queue.QueuingService.CreateWorkflowQueue(queueName, true); } } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. #region Using directives using System; using System.Diagnostics; using System.Collections.Generic; using System.Collections; using System.Reflection; using System.Runtime.Serialization; using System.Workflow.ComponentModel; using System.Workflow.Runtime; using System.Workflow.Runtime.Hosting; using System.Runtime.Remoting.Messaging; #endregion namespace System.Workflow.Activities { [Serializable] internal sealed class FollowerQueueCreator : IActivityEventListener { string followerOperation; object [....] = new object(); internal FollowerQueueCreator(string operation) { this.followerOperation = operation; } public override bool Equals(object obj) { if (obj == null) return false; FollowerQueueCreator equalsObject = obj as FollowerQueueCreator; if (this.followerOperation == equalsObject.followerOperation) return true; return false; } public override int GetHashCode() { return this.followerOperation.GetHashCode(); } #region IActivityEventListener Members void IActivityEventListener .OnEvent(object sender, QueueEventArgs args) { lock ([....]) { WorkflowQueue queue = (WorkflowQueue)sender; // create the queue after extracting the correlation values from the message EventQueueName staticId = (EventQueueName)queue.QueueName; WorkflowActivityTrace.Activity.TraceEvent(TraceEventType.Information, 0, "FollowerQueueCreator: initialized on operation {0} for follower {1}", staticId.InterfaceType.Name + staticId.MethodName, this.followerOperation); IMethodMessage message = queue.Peek() as IMethodMessage; ICollection corrValues = CorrelationResolver.ResolveCorrelationValues(staticId.InterfaceType, staticId.MethodName, message.Args, false); EventQueueName queueName = new EventQueueName(staticId.InterfaceType, this.followerOperation, corrValues); if (!queue.QueuingService.Exists(queueName)) { WorkflowActivityTrace.Activity.TraceEvent(TraceEventType.Information, 0, "FollowerQueueCreator::CreateQueue creating q {0}", queueName.GetHashCode()); queue.QueuingService.CreateWorkflowQueue(queueName, true); } } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSerializer.cs
- Stylesheet.cs
- InstrumentationTracker.cs
- PolyLineSegment.cs
- TableItemProviderWrapper.cs
- CancellationScope.cs
- PageBorderless.cs
- ValidationPropertyAttribute.cs
- StylusOverProperty.cs
- WebPart.cs
- WebPartChrome.cs
- DatatypeImplementation.cs
- SqlCacheDependencyDatabaseCollection.cs
- cookiecontainer.cs
- DoubleAnimationBase.cs
- WebPartActionVerb.cs
- StandardToolWindows.cs
- BitmapImage.cs
- SortQueryOperator.cs
- Line.cs
- CodeSnippetCompileUnit.cs
- Quad.cs
- RectAnimationClockResource.cs
- Attributes.cs
- UrlEncodedParameterWriter.cs
- ValidationSummary.cs
- PenContext.cs
- SimpleMailWebEventProvider.cs
- TransactionFlowBindingElementImporter.cs
- EnumUnknown.cs
- CrossContextChannel.cs
- TransformationRules.cs
- ButtonBaseAdapter.cs
- ElementHostAutomationPeer.cs
- WebBrowsableAttribute.cs
- FeatureSupport.cs
- SingleQueryOperator.cs
- DocumentScope.cs
- MultiSelectRootGridEntry.cs
- LostFocusEventManager.cs
- RectangleConverter.cs
- DefaultParameterValueAttribute.cs
- QilGeneratorEnv.cs
- UniqueIdentifierService.cs
- Panel.cs
- Translator.cs
- SchemaObjectWriter.cs
- WCFModelStrings.Designer.cs
- VisualStateGroup.cs
- SecurityUtils.cs
- WindowsGraphicsCacheManager.cs
- DomNameTable.cs
- XmlAttributeOverrides.cs
- ProfileModule.cs
- ButtonAutomationPeer.cs
- IgnorePropertiesAttribute.cs
- WorkflowOperationInvoker.cs
- StringConcat.cs
- XPathSingletonIterator.cs
- StorageConditionPropertyMapping.cs
- XamlGridLengthSerializer.cs
- StorageMappingFragment.cs
- TableLayoutColumnStyleCollection.cs
- HtmlHead.cs
- UpDownBase.cs
- FactoryGenerator.cs
- TileBrush.cs
- Exception.cs
- BooleanSwitch.cs
- selecteditemcollection.cs
- CellParagraph.cs
- ObjectDataSourceDisposingEventArgs.cs
- Guid.cs
- EntityDataSourceViewSchema.cs
- ColumnWidthChangingEvent.cs
- UIHelper.cs
- BamlTreeNode.cs
- CollectionAdapters.cs
- ArrayTypeMismatchException.cs
- WorkflowRuntimeServicesBehavior.cs
- DPAPIProtectedConfigurationProvider.cs
- BinaryVersion.cs
- cookiecontainer.cs
- XhtmlConformanceSection.cs
- Site.cs
- _BaseOverlappedAsyncResult.cs
- SqlDataSourceCommandEventArgs.cs
- Models.cs
- Console.cs
- AuthenticationSection.cs
- DataGridViewCellStyleConverter.cs
- Utils.cs
- ToolStripProgressBar.cs
- Bezier.cs
- SoapConverter.cs
- DataSourceControlBuilder.cs
- Composition.cs
- TypefaceMetricsCache.cs
- HtmlWindowCollection.cs
- HtmlLink.cs