Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / Workflow / Activities / ReceiveActivityValidator.cs / 1305376 / ReceiveActivityValidator.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Workflow.Activities { using System.ServiceModel; using System.Reflection; using System.Collections.Generic; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Compiler; class ReceiveActivityValidator : CompositeActivityValidator { public override ValidationErrorCollection Validate( ValidationManager manager, object obj) { ValidationErrorCollection validationErrors = base.Validate(manager, obj); ReceiveActivity receiveActivity = obj as ReceiveActivity; if (receiveActivity == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("obj", SR2.GetString(SR2.Error_ArgumentTypeInvalid, "obj", typeof(ReceiveActivity))); } ITypeProvider typeProvider = manager.GetService(typeof(ITypeProvider)) as ITypeProvider; if (typeProvider == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException( SR2.GetString(SR2.General_MissingService, typeof(ITypeProvider).Name))); } if (receiveActivity.ServiceOperationInfo == null) { validationErrors.Add( new ValidationError( SR2.GetString(SR2.Error_Validation_OperationInfoNotSpecified, receiveActivity.Name), WorkflowServicesErrorNumbers.Error_OperationInfoNotSpecified, false, "ServiceOperationInfo")); } else { // validate operation info // ValidationErrorCollection operationInfoValidationErrors = ValidationHelper.ValidateOperationInfo( receiveActivity, receiveActivity.ServiceOperationInfo, manager); validationErrors.AddRange(operationInfoValidationErrors); // do not validate parameter binding if the operation info is not valid // we might generate noise and false positives. // if (operationInfoValidationErrors.Count == 0) { validationErrors.AddRange( ValidationHelper.ValidateParameterBindings(receiveActivity, receiveActivity.ServiceOperationInfo, receiveActivity.ParameterBindings, manager)); } // validate the context token // validationErrors.AddRange( ValidationHelper.ValidateContextToken(receiveActivity, receiveActivity.ContextToken, manager)); } // Check if the validation for all service operations being implemented // has been done previously. // If it has been done once then ServiceOperationsImplementedValidationMarker // will be on the context stack. // if (validationErrors.Count == 0 && manager.Context[typeof(ServiceOperationsImplementedValidationMarker)] == null) { Activity rootActivity = receiveActivity; while (rootActivity.Parent != null) { rootActivity = rootActivity.Parent; } validationErrors.AddRange( ValidationHelper.ValidateAllServiceOperationsImplemented( manager, rootActivity)); } return validationErrors; } } } // 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
- ConnectionStringEditor.cs
- PackWebRequest.cs
- OdbcError.cs
- Base64WriteStateInfo.cs
- Crc32.cs
- EntityDataSource.cs
- XmlnsPrefixAttribute.cs
- TextEndOfLine.cs
- ActivityTypeResolver.xaml.cs
- ContractMapping.cs
- PersistenceTypeAttribute.cs
- TextContainerHelper.cs
- ObjectReferenceStack.cs
- HtmlControl.cs
- ObjectSet.cs
- BehaviorEditorPart.cs
- ComboBoxAutomationPeer.cs
- SoapObjectInfo.cs
- PropertyGridEditorPart.cs
- SHA384.cs
- ContainerVisual.cs
- TextRunTypographyProperties.cs
- ApplicationContext.cs
- RC2.cs
- SymLanguageType.cs
- ChildDocumentBlock.cs
- LoadedOrUnloadedOperation.cs
- HtmlElementCollection.cs
- IIS7ConfigurationLoader.cs
- ImageSourceValueSerializer.cs
- PackagePartCollection.cs
- Schema.cs
- VectorConverter.cs
- Operand.cs
- NamespaceEmitter.cs
- Cursor.cs
- PictureBox.cs
- PrimitiveType.cs
- TraceUtils.cs
- ColorConverter.cs
- SqlServices.cs
- HtmlInputHidden.cs
- TaiwanCalendar.cs
- PackageStore.cs
- TextDecorationCollection.cs
- Comparer.cs
- LazyTextWriterCreator.cs
- DependencyPropertyDescriptor.cs
- FormViewDeleteEventArgs.cs
- EventDescriptorCollection.cs
- DefaultSettingsSection.cs
- MappingMetadataHelper.cs
- PageRequestManager.cs
- RolePrincipal.cs
- FilteredAttributeCollection.cs
- WebBrowsableAttribute.cs
- DateTimeOffsetAdapter.cs
- VariantWrapper.cs
- EventsTab.cs
- AncillaryOps.cs
- HtmlMeta.cs
- XmlDataSourceNodeDescriptor.cs
- HandlerMappingMemo.cs
- AuthorizationRule.cs
- UserNameSecurityTokenProvider.cs
- RandomNumberGenerator.cs
- SessionEndingCancelEventArgs.cs
- SecurityContextTokenValidationException.cs
- XmlSerializerVersionAttribute.cs
- ZoneMembershipCondition.cs
- OpCodes.cs
- BackgroundWorker.cs
- ListParagraph.cs
- CustomGrammar.cs
- AnnotationComponentManager.cs
- WebPartMenu.cs
- StaticDataManager.cs
- OdbcInfoMessageEvent.cs
- PageRouteHandler.cs
- ProjectedSlot.cs
- ImageClickEventArgs.cs
- DataGridAddNewRow.cs
- NavigationEventArgs.cs
- sqlser.cs
- TaiwanCalendar.cs
- CheckBoxField.cs
- SynchronizedPool.cs
- Color.cs
- StickyNoteHelper.cs
- XmlNullResolver.cs
- AsyncInvokeOperation.cs
- LayoutDump.cs
- ToolBarTray.cs
- SelectionProcessor.cs
- WebPartConnectionsConnectVerb.cs
- XPathNavigatorKeyComparer.cs
- RichTextBoxAutomationPeer.cs
- FrameworkElementFactoryMarkupObject.cs
- OutputCacheProfileCollection.cs
- ConfigXmlText.cs