Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / ServiceModel / Description / DescriptionCreator.cs / 1305376 / DescriptionCreator.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Description { using System.Collections.Generic; using System.Workflow.ComponentModel; using System.Workflow.Runtime; class DescriptionCreator { WorkflowDefinitionContext workflowDefinitionContext; public DescriptionCreator(WorkflowDefinitionContext workflowDefinitionContext) { if (workflowDefinitionContext == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("workflowDefinitionContext"); } this.workflowDefinitionContext = workflowDefinitionContext; } public ServiceDescription BuildServiceDescription(out IDictionaryimplementedContracts, out IList reflectedContracts) { ServiceDescriptionContext context = new ServiceDescriptionContext(); ServiceDescription description = new ServiceDescription(); ApplyBehaviors(description); context.ServiceDescription = description; Walker walker = new Walker(true); walker.FoundActivity += delegate(Walker w, WalkerEventArgs args) { IServiceDescriptionBuilder activity = args.CurrentActivity as IServiceDescriptionBuilder; if (activity == null) { return; } activity.BuildServiceDescription(context); }; walker.Walk(this.workflowDefinitionContext.GetWorkflowDefinition()); if (context.Contracts == null || context.Contracts.Count == 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR2.GetString(SR2.NoContract))); } implementedContracts = context.Contracts; reflectedContracts = context.ReflectedContracts; return description; } void ApplyBehaviors(ServiceDescription serviceDescription) { WorkflowServiceBehavior wsb = new WorkflowServiceBehavior(workflowDefinitionContext); serviceDescription.Behaviors.Add(wsb); if (wsb.Name != null) { serviceDescription.Name = wsb.Name; } if (wsb.Namespace != null) { serviceDescription.Namespace = wsb.Namespace; } if (wsb.ConfigurationName != null) { serviceDescription.ConfigurationName = wsb.ConfigurationName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ContractComponent.cs
- RowCache.cs
- WebPartConnectionsConnectVerb.cs
- SHA1.cs
- TextElementCollectionHelper.cs
- MatrixTransform3D.cs
- BaseServiceProvider.cs
- OdbcStatementHandle.cs
- Attributes.cs
- SizeLimitedCache.cs
- DragDeltaEventArgs.cs
- StylusPointProperties.cs
- FileDetails.cs
- XPathItem.cs
- SimpleTypeResolver.cs
- TextEndOfLine.cs
- HttpContextBase.cs
- BaseTypeViewSchema.cs
- TextBoxLine.cs
- DirectionalLight.cs
- SendKeys.cs
- TypeInfo.cs
- CodeAttributeDeclaration.cs
- ToolTipService.cs
- AssemblyAttributes.cs
- JsonDeserializer.cs
- PathFigureCollection.cs
- DiagnosticsElement.cs
- ResourceDefaultValueAttribute.cs
- SqlCharStream.cs
- SelectionProviderWrapper.cs
- sqlmetadatafactory.cs
- Walker.cs
- EmissiveMaterial.cs
- ConstructorNeedsTagAttribute.cs
- CheckBox.cs
- DataGridViewCheckBoxColumn.cs
- FontSizeConverter.cs
- unitconverter.cs
- ObjectManager.cs
- FontCacheUtil.cs
- PersonalizationDictionary.cs
- ServiceBehaviorElementCollection.cs
- XmlSchemaType.cs
- Int32RectConverter.cs
- BaseTreeIterator.cs
- Graph.cs
- HighlightOverlayGlyph.cs
- SecurityTokenValidationException.cs
- XmlSchemaInfo.cs
- FileLoadException.cs
- FileUpload.cs
- WinEventWrap.cs
- typedescriptorpermissionattribute.cs
- QilTypeChecker.cs
- HttpConfigurationSystem.cs
- DataColumnMappingCollection.cs
- Style.cs
- XamlGridLengthSerializer.cs
- OdbcFactory.cs
- CatalogPartCollection.cs
- KeyConverter.cs
- lengthconverter.cs
- SinglePageViewer.cs
- PersistenceTypeAttribute.cs
- WindowClosedEventArgs.cs
- SettingsAttributes.cs
- ConfigXmlCDataSection.cs
- XPathPatternBuilder.cs
- UIPermission.cs
- SoapAttributes.cs
- CodeAssignStatement.cs
- TypedElement.cs
- HttpFileCollection.cs
- XXXInfos.cs
- XPathNode.cs
- ExpressionBindingCollection.cs
- XamlLoadErrorInfo.cs
- ReceiveSecurityHeaderEntry.cs
- NetWebProxyFinder.cs
- documentsequencetextview.cs
- Html32TextWriter.cs
- SizeValueSerializer.cs
- AssemblyAssociatedContentFileAttribute.cs
- ISO2022Encoding.cs
- QuestionEventArgs.cs
- ConsumerConnectionPointCollection.cs
- SystemIcmpV6Statistics.cs
- Utils.cs
- ContractType.cs
- LinkLabelLinkClickedEvent.cs
- TreeBuilderXamlTranslator.cs
- MultiSelector.cs
- BitHelper.cs
- ISO2022Encoding.cs
- PersonalizationDictionary.cs
- Menu.cs
- ProtocolsConfigurationHandler.cs
- AspNetHostingPermission.cs
- DataServiceHostFactory.cs