Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceHandleReference.cs / 1305376 / InstanceHandleReference.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { // This class serves as a reference back to an InstanceHandle from the perspective of an InstanceOwner for tracking lock binds in progress. // It works in two modes, one as a pure cancelable handle reference (where cancelling means nulling out the reference) and the // other as a queue position marker for determining when all of the in-progress requests at one point in time are all done. In the // marker mode (InstanceOwner.LockResolutionMarker), it carries some additional context for maintaining the state of the // InstancePersistenceContext.ResolveExistingLock operation. class InstanceHandleReference { internal InstanceHandleReference(InstanceHandle instanceHandle) { Fx.Assert(instanceHandle != null, "Null instanceHandle provided to InstanceHandleReference."); InstanceHandle = instanceHandle; } // This is set to null when the InstanceHandleReference is detached from the InstanceHandle - i.e. it is // no longer in use, and exists just to make it possible to lazily drain out of the various queues. internal InstanceHandle InstanceHandle { get; private set; } internal void Cancel() { Fx.Assert(InstanceHandle != null, "InstanceHandleReference already cancelled."); InstanceHandle = null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { // This class serves as a reference back to an InstanceHandle from the perspective of an InstanceOwner for tracking lock binds in progress. // It works in two modes, one as a pure cancelable handle reference (where cancelling means nulling out the reference) and the // other as a queue position marker for determining when all of the in-progress requests at one point in time are all done. In the // marker mode (InstanceOwner.LockResolutionMarker), it carries some additional context for maintaining the state of the // InstancePersistenceContext.ResolveExistingLock operation. class InstanceHandleReference { internal InstanceHandleReference(InstanceHandle instanceHandle) { Fx.Assert(instanceHandle != null, "Null instanceHandle provided to InstanceHandleReference."); InstanceHandle = instanceHandle; } // This is set to null when the InstanceHandleReference is detached from the InstanceHandle - i.e. it is // no longer in use, and exists just to make it possible to lazily drain out of the various queues. internal InstanceHandle InstanceHandle { get; private set; } internal void Cancel() { Fx.Assert(InstanceHandle != null, "InstanceHandleReference already cancelled."); InstanceHandle = null; } } } // 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
- ScriptManager.cs
- SystemTcpConnection.cs
- DataTableReaderListener.cs
- WindowsIdentity.cs
- WindowsToolbarItemAsMenuItem.cs
- Formatter.cs
- XmlUrlEditor.cs
- DbXmlEnabledProviderManifest.cs
- FilterableData.cs
- Manipulation.cs
- DPCustomTypeDescriptor.cs
- XmlnsDefinitionAttribute.cs
- AuthorizationRuleCollection.cs
- RowCache.cs
- UnsafeNativeMethods.cs
- NameValuePermission.cs
- AsyncDataRequest.cs
- StrongNameMembershipCondition.cs
- SqlBooleanizer.cs
- MsmqBindingElementBase.cs
- _NegotiateClient.cs
- GPPOINT.cs
- SurrogateEncoder.cs
- DataGridViewCellFormattingEventArgs.cs
- MapPathBasedVirtualPathProvider.cs
- Quad.cs
- DesignerTransaction.cs
- SequenceNumber.cs
- TextAnchor.cs
- BinaryFormatter.cs
- MachineSettingsSection.cs
- WebBrowserSiteBase.cs
- DataSourceListEditor.cs
- DataSourceXmlTextReader.cs
- InstanceLockedException.cs
- Memoizer.cs
- FontSource.cs
- ColumnTypeConverter.cs
- RequestQueryProcessor.cs
- PhysicalAddress.cs
- ProcessHostConfigUtils.cs
- ChannelDispatcherBase.cs
- WmpBitmapDecoder.cs
- KeysConverter.cs
- OneOfTypeConst.cs
- KnownTypesProvider.cs
- LassoSelectionBehavior.cs
- Converter.cs
- TextFormatter.cs
- MSG.cs
- ReceiveActivityValidator.cs
- DrawTreeNodeEventArgs.cs
- QueryResponse.cs
- WebBaseEventKeyComparer.cs
- X509Logo.cs
- SqlParameter.cs
- MouseDevice.cs
- NativeMethods.cs
- SafeCryptContextHandle.cs
- Ref.cs
- TextWriter.cs
- SqlClientFactory.cs
- cookie.cs
- Item.cs
- ActivityCodeGenerator.cs
- UIElementParaClient.cs
- TableRow.cs
- HttpAsyncResult.cs
- WsdlBuildProvider.cs
- Transform.cs
- TraceHandler.cs
- InvokeMethodActivity.cs
- SendMessageContent.cs
- SByte.cs
- HtmlTableCellCollection.cs
- IRCollection.cs
- NativeMethods.cs
- RulePatternOps.cs
- Package.cs
- DisplayMemberTemplateSelector.cs
- PipelineModuleStepContainer.cs
- ButtonPopupAdapter.cs
- DispatcherTimer.cs
- PublisherIdentityPermission.cs
- Transform3DGroup.cs
- UnmanagedBitmapWrapper.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- AttachedPropertyMethodSelector.cs
- TypedElement.cs
- CodeSnippetExpression.cs
- CheckBox.cs
- SqlClientMetaDataCollectionNames.cs
- EntityViewContainer.cs
- ObjectDesignerDataSourceView.cs
- WizardForm.cs
- DbProviderSpecificTypePropertyAttribute.cs
- SerializationException.cs
- ReflectionUtil.cs
- RuntimeConfigurationRecord.cs
- ImageField.cs