Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / ProcessActivityTreeOptions.cs / 1305376 / ProcessActivityTreeOptions.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System.Collections.Generic; using System.Activities.Validation; using System.Runtime; class ProcessActivityTreeOptions { static ProcessActivityTreeOptions validationOptions; static ProcessActivityTreeOptions singleLevelValidationOptions; static ProcessActivityTreeOptions fullCachingOptions; static ProcessActivityTreeOptions finishCachingSubtreeOptionsWithCreateEmptyBindings; static ProcessActivityTreeOptions finishCachingSubtreeOptionsWithoutCreateEmptyBindings; ProcessActivityTreeOptions() { } public static ProcessActivityTreeOptions FullCachingOptions { get { if (fullCachingOptions == null) { fullCachingOptions = new ProcessActivityTreeOptions { SkipIfCached = true, CreateEmptyBindings = true, OnlyCallCallbackForDeclarations = true }; } return fullCachingOptions; } } public static ProcessActivityTreeOptions ValidationOptions { get { if (validationOptions == null) { validationOptions = new ProcessActivityTreeOptions { SkipPrivateChildren = false, // We don't want to interfere with activities doing null-checks // by creating empty bindings. CreateEmptyBindings = false }; } return validationOptions; } } static ProcessActivityTreeOptions SingleLevelValidationOptions { get { if (singleLevelValidationOptions == null) { singleLevelValidationOptions = new ProcessActivityTreeOptions { SkipPrivateChildren = false, // We don't want to interfere with activities doing null-checks // by creating empty bindings. CreateEmptyBindings = false, OnlyVisitSingleLevel = true }; } return singleLevelValidationOptions; } } static ProcessActivityTreeOptions FinishCachingSubtreeOptionsWithoutCreateEmptyBindings { get { if (finishCachingSubtreeOptionsWithoutCreateEmptyBindings == null) { // We don't want to run constraints and we only want to hit // the public path. finishCachingSubtreeOptionsWithoutCreateEmptyBindings = new ProcessActivityTreeOptions { SkipConstraints = true, StoreTempViolations = true }; } return finishCachingSubtreeOptionsWithoutCreateEmptyBindings; } } static ProcessActivityTreeOptions FinishCachingSubtreeOptionsWithCreateEmptyBindings { get { if (finishCachingSubtreeOptionsWithCreateEmptyBindings == null) { // We don't want to run constraints and we only want to hit // the public path. finishCachingSubtreeOptionsWithCreateEmptyBindings = new ProcessActivityTreeOptions { SkipConstraints = true, CreateEmptyBindings = true, StoreTempViolations = true }; } return finishCachingSubtreeOptionsWithCreateEmptyBindings; } } public static ProcessActivityTreeOptions GetFinishCachingSubtreeOptions(ProcessActivityTreeOptions originalOptions) { if (originalOptions.CreateEmptyBindings) { return ProcessActivityTreeOptions.FinishCachingSubtreeOptionsWithCreateEmptyBindings; } else { return ProcessActivityTreeOptions.FinishCachingSubtreeOptionsWithoutCreateEmptyBindings; } } public static ProcessActivityTreeOptions GetValidationOptions(ValidationSettings settings) { if (settings.SingleLevel) { return ProcessActivityTreeOptions.SingleLevelValidationOptions; } else { return ProcessActivityTreeOptions.ValidationOptions; } } public bool SkipIfCached { get; private set; } public bool CreateEmptyBindings { get; private set; } public bool SkipPrivateChildren { get; private set; } public bool OnlyCallCallbackForDeclarations { get; private set; } public bool SkipConstraints { get; private set; } public bool OnlyVisitSingleLevel { get; private set; } public bool StoreTempViolations { get; private set; } public bool IsRuntimeReadyOptions { get { // We don't really support progressive caching at runtime so we only set ourselves // as runtime ready if we cached the whole workflow and created empty bindings. // In order to support progressive caching we need to deal with the following // issues: // * We need a mechanism for supporting activities which supply extensions // * We need to understand when we haven't created empty bindings so that // we can progressively create them return !this.SkipPrivateChildren && this.CreateEmptyBindings; } } } } // 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
- FileDocument.cs
- DataBoundControlAdapter.cs
- ConfigXmlDocument.cs
- Debugger.cs
- Types.cs
- ToolStrip.cs
- SocketElement.cs
- HtmlSelect.cs
- Types.cs
- XmlSchemaGroup.cs
- RepeaterCommandEventArgs.cs
- ExtensibleClassFactory.cs
- Comparer.cs
- GlyphRunDrawing.cs
- DataService.cs
- WebBaseEventKeyComparer.cs
- WmlPanelAdapter.cs
- CommonRemoteMemoryBlock.cs
- XomlCompilerHelpers.cs
- DesignerDataRelationship.cs
- BooleanExpr.cs
- ObjectReferenceStack.cs
- ProcessHostFactoryHelper.cs
- ImportedNamespaceContextItem.cs
- WorkflowMarkupSerializationManager.cs
- ItemCollectionEditor.cs
- TrustLevel.cs
- SqlConnectionHelper.cs
- DataViewListener.cs
- Array.cs
- WizardStepBase.cs
- FaultConverter.cs
- FullTextBreakpoint.cs
- HtmlTernaryTree.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- wgx_exports.cs
- TypeLibConverter.cs
- LinkClickEvent.cs
- OneOf.cs
- BindingExpressionUncommonField.cs
- SByteConverter.cs
- PropertyFilterAttribute.cs
- AttributeUsageAttribute.cs
- NavigationFailedEventArgs.cs
- BaseTemplateCodeDomTreeGenerator.cs
- InheritablePropertyChangeInfo.cs
- UnsafeNativeMethods.cs
- CatalogZoneBase.cs
- DataControlLinkButton.cs
- NativeObjectSecurity.cs
- ProgressBarRenderer.cs
- BitmapDownload.cs
- Component.cs
- Scheduler.cs
- mediaeventargs.cs
- OrCondition.cs
- GridViewAutomationPeer.cs
- AutomationAttributeInfo.cs
- ReadOnlyHierarchicalDataSource.cs
- CodeStatement.cs
- WebPermission.cs
- StatusBarDrawItemEvent.cs
- BindingOperations.cs
- SelectionItemPattern.cs
- DrawingVisual.cs
- NumericExpr.cs
- DefaultSerializationProviderAttribute.cs
- DecimalAnimationUsingKeyFrames.cs
- NameValuePair.cs
- ClientScriptManager.cs
- SqlTriggerContext.cs
- AQNBuilder.cs
- Metadata.cs
- ModuleBuilder.cs
- ResolvePPIDRequest.cs
- WmlControlAdapter.cs
- XhtmlBasicTextViewAdapter.cs
- GlobalEventManager.cs
- TypeConverterBase.cs
- MessageDecoder.cs
- EventLogger.cs
- InvariantComparer.cs
- DetailsView.cs
- BitmapEffectDrawingContent.cs
- InArgument.cs
- Attachment.cs
- HMACMD5.cs
- Comparer.cs
- AutomationPropertyInfo.cs
- SHA256.cs
- XmlMtomWriter.cs
- SimpleFileLog.cs
- TextServicesContext.cs
- DateRangeEvent.cs
- StopStoryboard.cs
- DynamicResourceExtension.cs
- RegistrationServices.cs
- DocumentSequence.cs
- QueryStringHandler.cs
- DllHostInitializer.cs