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
- WebPartDisplayModeCancelEventArgs.cs
- NamespaceTable.cs
- TypedCompletedAsyncResult.cs
- TrustSection.cs
- DataList.cs
- AdRotator.cs
- ProfileParameter.cs
- sqlcontext.cs
- InvalidateEvent.cs
- ArrangedElementCollection.cs
- FigureParagraph.cs
- DecodeHelper.cs
- ArrayList.cs
- RolePrincipal.cs
- IMembershipProvider.cs
- InvokeCompletedEventArgs.cs
- HierarchicalDataSourceControl.cs
- XPathAncestorIterator.cs
- LinkedResourceCollection.cs
- CodeDOMUtility.cs
- MulticastNotSupportedException.cs
- WebBrowserBase.cs
- StylusButtonEventArgs.cs
- WindowsRegion.cs
- XmlCustomFormatter.cs
- SqlAggregateChecker.cs
- ServiceThrottlingBehavior.cs
- RtType.cs
- FixedSOMGroup.cs
- InnerItemCollectionView.cs
- BaseTypeViewSchema.cs
- Logging.cs
- XmlILAnnotation.cs
- EmptyQuery.cs
- FontStretches.cs
- TaskCanceledException.cs
- NotificationContext.cs
- NestPullup.cs
- EntityRecordInfo.cs
- RenderingEventArgs.cs
- GcHandle.cs
- DataColumnMappingCollection.cs
- JsonWriter.cs
- ScriptReference.cs
- Pens.cs
- TextEditorContextMenu.cs
- CollectionViewGroupRoot.cs
- PrintSystemException.cs
- TextModifier.cs
- OracleConnection.cs
- XNameTypeConverter.cs
- Page.cs
- TableLayoutPanelResizeGlyph.cs
- ReadOnlyDataSourceView.cs
- Material.cs
- NameScopePropertyAttribute.cs
- KerberosTicketHashIdentifierClause.cs
- DesignTimeParseData.cs
- CodeGen.cs
- ResourceSet.cs
- GroupBoxRenderer.cs
- isolationinterop.cs
- EpmSourcePathSegment.cs
- ReflectTypeDescriptionProvider.cs
- PeerTransportListenAddressConverter.cs
- TemplateControlParser.cs
- OleDbInfoMessageEvent.cs
- DesignerCategoryAttribute.cs
- SecurityDocument.cs
- WebPartDisplayModeCancelEventArgs.cs
- RegexRunnerFactory.cs
- CompoundFileIOPermission.cs
- XmlSchemaAttributeGroupRef.cs
- XmlWhitespace.cs
- ServiceProviders.cs
- DataSourceCacheDurationConverter.cs
- FunctionDefinition.cs
- StrokeRenderer.cs
- ListViewInsertedEventArgs.cs
- SoapReflectionImporter.cs
- DATA_BLOB.cs
- ToggleProviderWrapper.cs
- EditorAttribute.cs
- assemblycache.cs
- RepeatEnumerable.cs
- FloaterParaClient.cs
- XmlDomTextWriter.cs
- CreatingCookieEventArgs.cs
- NodeFunctions.cs
- CheckBoxList.cs
- MessageSecurityOverMsmq.cs
- ConnectionsZone.cs
- JsonEncodingStreamWrapper.cs
- UTF32Encoding.cs
- ObjectQuery.cs
- Command.cs
- COM2PictureConverter.cs
- PinnedBufferMemoryStream.cs
- TagElement.cs
- ProcessProtocolHandler.cs