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
- Int16.cs
- NativeMethods.cs
- TextAdaptor.cs
- ObjectParameterCollection.cs
- AddInControllerImpl.cs
- Vertex.cs
- SpellerHighlightLayer.cs
- IsolatedStorageFile.cs
- AddInProcess.cs
- TemplateControlBuildProvider.cs
- CheckBoxFlatAdapter.cs
- SizeChangedEventArgs.cs
- ThumbButtonInfoCollection.cs
- HttpHandler.cs
- ActivityBindForm.Designer.cs
- EntryPointNotFoundException.cs
- DynamicValidator.cs
- SqlDataSourceTableQuery.cs
- LambdaCompiler.Expressions.cs
- ZipIOExtraFieldPaddingElement.cs
- Style.cs
- RequestQueue.cs
- HelloMessageCD1.cs
- XmlTextReaderImplHelpers.cs
- Wrapper.cs
- WSHttpBindingCollectionElement.cs
- XPathMultyIterator.cs
- WindowsGraphicsCacheManager.cs
- Dynamic.cs
- HtmlCalendarAdapter.cs
- FormsAuthenticationUser.cs
- DetailsView.cs
- Highlights.cs
- StreamedFramingRequestChannel.cs
- SecurityPermission.cs
- StaticExtension.cs
- BaseTemplateCodeDomTreeGenerator.cs
- NotifyParentPropertyAttribute.cs
- ConstantExpression.cs
- ScalarOps.cs
- CssClassPropertyAttribute.cs
- PropertyNames.cs
- _FtpControlStream.cs
- JsonWriter.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TextViewDesigner.cs
- ProxyHelper.cs
- InternalSafeNativeMethods.cs
- HttpEncoderUtility.cs
- SerializerDescriptor.cs
- NullableLongSumAggregationOperator.cs
- EmptyEnumerator.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ISessionStateStore.cs
- ParentQuery.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ECDiffieHellmanPublicKey.cs
- XmlExtensionFunction.cs
- LocalFileSettingsProvider.cs
- CorrelationTokenInvalidatedHandler.cs
- DBAsyncResult.cs
- DrawingCollection.cs
- StringAttributeCollection.cs
- HttpWebRequestElement.cs
- SQLString.cs
- ProxyWebPartManagerDesigner.cs
- TranslateTransform3D.cs
- StickyNoteHelper.cs
- TextTreePropertyUndoUnit.cs
- Misc.cs
- StreamResourceInfo.cs
- HttpClientChannel.cs
- EditorZone.cs
- ComponentEditorPage.cs
- Int64Animation.cs
- SignatureToken.cs
- BStrWrapper.cs
- CodeExpressionStatement.cs
- IgnoreDeviceFilterElementCollection.cs
- SystemIPAddressInformation.cs
- XmlWellformedWriter.cs
- ErrorStyle.cs
- PrintPreviewDialog.cs
- CheckBoxRenderer.cs
- CreateWorkflowOwnerCommand.cs
- HScrollProperties.cs
- Stack.cs
- FunctionUpdateCommand.cs
- FacetValues.cs
- NamespaceInfo.cs
- EpmSourceTree.cs
- ToolStripItemCollection.cs
- ListViewUpdatedEventArgs.cs
- StringTraceRecord.cs
- RelationshipEnd.cs
- GridViewDeleteEventArgs.cs
- Point3DCollectionConverter.cs
- shaperfactoryquerycacheentry.cs
- WizardPanelChangingEventArgs.cs
- EdgeProfileValidation.cs