Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / NoPersistProperty.cs / 1305376 / NoPersistProperty.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities
{
using System;
using System.Activities.Runtime;
using System.Runtime;
using System.Runtime.Serialization;
// This does not need to be data contract since we'll never persist while one of these is active
class NoPersistProperty : IPropertyRegistrationCallback
{
public const string Name = "System.Activities.NoPersistProperty";
ActivityExecutor executor;
int refCount;
public NoPersistProperty(ActivityExecutor executor)
{
this.executor = executor;
}
public void Enter()
{
this.refCount++;
this.executor.EnterNoPersist();
}
public bool Exit()
{
Fx.Assert(this.refCount > 0, "We should guard against too many exits elsewhere.");
this.refCount--;
this.executor.ExitNoPersist();
return this.refCount == 0;
}
public void Register(RegistrationContext context)
{
}
public void Unregister(RegistrationContext context)
{
if (this.refCount > 0)
{
for (int i = 0; i < this.refCount; i++)
{
this.executor.ExitNoPersist();
}
this.refCount = 0;
}
}
}
}
// 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
- BindingExpression.cs
- HitTestParameters.cs
- FixedElement.cs
- WebAdminConfigurationHelper.cs
- DataGridViewSelectedRowCollection.cs
- SimpleTypeResolver.cs
- ResolveCriteria11.cs
- TextBox.cs
- ConditionCollection.cs
- SqlUserDefinedAggregateAttribute.cs
- EntityDesignerUtils.cs
- CodeExpressionStatement.cs
- WebContext.cs
- EmbeddedMailObject.cs
- PointConverter.cs
- AttachedPropertyDescriptor.cs
- COM2ExtendedTypeConverter.cs
- TableRow.cs
- TableItemProviderWrapper.cs
- FunctionDefinition.cs
- FixedDocument.cs
- HtmlTitle.cs
- EventRoute.cs
- ActionItem.cs
- UdpTransportBindingElement.cs
- CompatibleIComparer.cs
- ManifestBasedResourceGroveler.cs
- CoreSwitches.cs
- InvokeProviderWrapper.cs
- EdmItemError.cs
- HybridObjectCache.cs
- StorageRoot.cs
- AtlasWeb.Designer.cs
- DisplayMemberTemplateSelector.cs
- GorillaCodec.cs
- MethodSignatureGenerator.cs
- UpDownEvent.cs
- UnsafeNativeMethods.cs
- CodeDelegateCreateExpression.cs
- ComboBoxItem.cs
- DocumentViewerBaseAutomationPeer.cs
- Calendar.cs
- WindowsButton.cs
- BitmapFrameDecode.cs
- CodeTypeParameter.cs
- StrongNamePublicKeyBlob.cs
- SyndicationDeserializer.cs
- _ScatterGatherBuffers.cs
- OdbcInfoMessageEvent.cs
- PropertyChangingEventArgs.cs
- CodeCatchClause.cs
- ProxySimple.cs
- SrgsElementList.cs
- XmlComplianceUtil.cs
- NetworkInformationException.cs
- JpegBitmapEncoder.cs
- ObjectView.cs
- WebPartActionVerb.cs
- ActivityExecutorDelegateInfo.cs
- ValuePatternIdentifiers.cs
- EventManager.cs
- SystemResourceKey.cs
- CompilationUtil.cs
- RangeBase.cs
- ScrollData.cs
- ServiceContractListItem.cs
- Visual3D.cs
- CodeAttributeArgument.cs
- FieldMetadata.cs
- ConfigUtil.cs
- ValidationError.cs
- TimelineClockCollection.cs
- HtmlElementEventArgs.cs
- AttributedMetaModel.cs
- ValidationEventArgs.cs
- FontSource.cs
- EntityDataSourceMemberPath.cs
- URI.cs
- StaticContext.cs
- ExtenderControl.cs
- RunInstallerAttribute.cs
- hebrewshape.cs
- ExternalCalls.cs
- String.cs
- XPathEmptyIterator.cs
- MimeMultiPart.cs
- ExpressionNode.cs
- TextLineBreak.cs
- ListViewTableCell.cs
- BitmapEffectInputData.cs
- UIElementAutomationPeer.cs
- Sentence.cs
- ExpressionServices.cs
- PageClientProxyGenerator.cs
- DbConnectionPoolGroup.cs
- Input.cs
- ImageAnimator.cs
- HtmlShim.cs
- HttpProfileBase.cs
- DataBinder.cs