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
- ClientTarget.cs
- TabControlEvent.cs
- TranslateTransform.cs
- HttpResponseWrapper.cs
- SignatureDescription.cs
- SByteConverter.cs
- TrackingStringDictionary.cs
- BoundsDrawingContextWalker.cs
- LabelLiteral.cs
- EditorPartChrome.cs
- DataBindingValueUIHandler.cs
- XmlDataSource.cs
- RuntimeWrappedException.cs
- WindowsTokenRoleProvider.cs
- FrameworkElementFactory.cs
- StyleSheetComponentEditor.cs
- SolidBrush.cs
- ClientSession.cs
- HitTestParameters.cs
- DataGridViewSelectedColumnCollection.cs
- Point3DKeyFrameCollection.cs
- SmtpClient.cs
- Span.cs
- ActiveDocumentEvent.cs
- TrustLevelCollection.cs
- FullTextState.cs
- PageAsyncTask.cs
- CacheAxisQuery.cs
- Point3DAnimationBase.cs
- FileFormatException.cs
- XPathParser.cs
- SiteMapDataSource.cs
- CellCreator.cs
- OSFeature.cs
- DbConnectionPoolIdentity.cs
- ReadOnlyDataSourceView.cs
- Geometry.cs
- AuthenticationSection.cs
- SqlProviderServices.cs
- XmlILAnnotation.cs
- SafePipeHandle.cs
- DBSqlParserColumn.cs
- SkipStoryboardToFill.cs
- FileLogRecordEnumerator.cs
- ObjectDataSourceEventArgs.cs
- ImmComposition.cs
- XmlAttribute.cs
- CustomLineCap.cs
- SQLDecimalStorage.cs
- WSFederationHttpBindingElement.cs
- SqlCharStream.cs
- UndirectedGraph.cs
- OrderingInfo.cs
- SymbolUsageManager.cs
- XmlNamedNodeMap.cs
- RectKeyFrameCollection.cs
- EnumerableRowCollectionExtensions.cs
- BitmapEffectInput.cs
- ClientConvert.cs
- _CommandStream.cs
- SuppressIldasmAttribute.cs
- BaseCollection.cs
- InlineCategoriesDocument.cs
- WindowsButton.cs
- AuthenticodeSignatureInformation.cs
- HandlerFactoryCache.cs
- DataSourceControl.cs
- ViewValidator.cs
- HierarchicalDataBoundControlAdapter.cs
- PropertyPushdownHelper.cs
- CaseInsensitiveHashCodeProvider.cs
- BatchWriter.cs
- StickyNoteHelper.cs
- XamlTreeBuilderBamlRecordWriter.cs
- OleDbError.cs
- SqlInfoMessageEvent.cs
- ControlParser.cs
- DataGridViewLinkCell.cs
- SymmetricKeyWrap.cs
- PtsContext.cs
- ButtonBaseAdapter.cs
- TrackBarRenderer.cs
- NullExtension.cs
- HtmlInputImage.cs
- MemberAccessException.cs
- InvokeMethodActivityDesigner.cs
- SortedList.cs
- OdbcConnectionPoolProviderInfo.cs
- MulticastNotSupportedException.cs
- NamespaceQuery.cs
- SiteMap.cs
- ITreeGenerator.cs
- HttpClientCertificate.cs
- MethodAccessException.cs
- HttpPostedFile.cs
- ThicknessAnimationUsingKeyFrames.cs
- SqlConnectionPoolProviderInfo.cs
- HttpFileCollection.cs
- SqlClientWrapperSmiStreamChars.cs
- PrimitiveDataContract.cs