Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceLockedException.cs / 1305376 / InstanceLockedException.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.DurableInstancing { using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Security; using System.Xml.Linq; [Serializable] public class InstanceLockedException : InstancePersistenceCommandException { const string InstanceOwnerIdName = "instancePersistenceInstanceOwnerId"; const string SerializableInstanceOwnerMetadataName = "instancePersistenceSerializableInstanceOwnerMetadata"; public InstanceLockedException() : this(SRCore.CannotAcquireLockDefault, null) { } public InstanceLockedException(string message) : this(message, null) { } public InstanceLockedException(string message, Exception innerException) : base(message, innerException) { } public InstanceLockedException(XName commandName, Guid instanceId) : this(commandName, instanceId, null) { } public InstanceLockedException(XName commandName, Guid instanceId, Exception innerException) : this(commandName, instanceId, ToMessage(instanceId), innerException) { } public InstanceLockedException(XName commandName, Guid instanceId, string message, Exception innerException) : this(commandName, instanceId, Guid.Empty, null, message, innerException) { } public InstanceLockedException(XName commandName, Guid instanceId, Guid instanceOwnerId, IDictionaryserializableInstanceOwnerMetadata) : this(commandName, instanceId, instanceOwnerId, serializableInstanceOwnerMetadata, null) { } public InstanceLockedException(XName commandName, Guid instanceId, Guid instanceOwnerId, IDictionary serializableInstanceOwnerMetadata, Exception innerException) : this(commandName, instanceId, instanceOwnerId, serializableInstanceOwnerMetadata, ToMessage(instanceId, instanceOwnerId), innerException) { } // Copying the dictionary snapshots it and makes sure the IDictionary implementation is serializable. public InstanceLockedException(XName commandName, Guid instanceId, Guid instanceOwnerId, IDictionary serializableInstanceOwnerMetadata, string message, Exception innerException) : base(commandName, instanceId, message, innerException) { InstanceOwnerId = instanceOwnerId; if (serializableInstanceOwnerMetadata != null) { SerializableInstanceOwnerMetadata = new ReadOnlyDictionary (serializableInstanceOwnerMetadata); } } [SecurityCritical] protected InstanceLockedException(SerializationInfo info, StreamingContext context) : base(info, context) { InstanceOwnerId = (Guid) info.GetValue(InstanceOwnerIdName, typeof(Guid)); SerializableInstanceOwnerMetadata = (ReadOnlyDictionary ) info.GetValue(SerializableInstanceOwnerMetadataName, typeof(ReadOnlyDictionary )); } public Guid InstanceOwnerId { get; private set; } public IDictionary SerializableInstanceOwnerMetadata { get; private set; } [Fx.Tag.SecurityNote(Critical = "Overrides critical inherited method")] [SecurityCritical] [SuppressMessage(FxCop.Category.Security, FxCop.Rule.SecureGetObjectDataOverrides, Justification = "Method is SecurityCritical")] public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); info.AddValue(InstanceOwnerIdName, InstanceOwnerId, typeof(Guid)); info.AddValue(SerializableInstanceOwnerMetadataName, SerializableInstanceOwnerMetadata, typeof(ReadOnlyDictionary )); } static string ToMessage(Guid instanceId) { if (instanceId == Guid.Empty) { return SRCore.CannotAcquireLockDefault; } return SRCore.CannotAcquireLockSpecific(instanceId); } static string ToMessage(Guid instanceId, Guid instanceOwnerId) { if (instanceId == Guid.Empty) { return SRCore.CannotAcquireLockDefault; } if (instanceOwnerId == Guid.Empty) { return SRCore.CannotAcquireLockSpecific(instanceId); } return SRCore.CannotAcquireLockSpecificWithOwner(instanceId, instanceOwnerId); } } } // 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
- CodeRegionDirective.cs
- Marshal.cs
- RowType.cs
- FontUnit.cs
- AnnotationDocumentPaginator.cs
- LicenseContext.cs
- AssemblyName.cs
- ParameterReplacerVisitor.cs
- ProxyOperationRuntime.cs
- CodeAttributeDeclaration.cs
- XmlChildEnumerator.cs
- ToolboxItemCollection.cs
- TextDecoration.cs
- NumberAction.cs
- StorageMappingFragment.cs
- Comparer.cs
- SessionIDManager.cs
- PropVariant.cs
- XhtmlTextWriter.cs
- ToolStripDropDownButton.cs
- thaishape.cs
- ScriptResourceInfo.cs
- WebScriptEndpoint.cs
- DataListDesigner.cs
- DeclarativeConditionsCollection.cs
- MarshalByValueComponent.cs
- StorageBasedPackageProperties.cs
- LineServicesCallbacks.cs
- Math.cs
- RelatedView.cs
- VolatileEnlistmentMultiplexing.cs
- RSAPKCS1SignatureFormatter.cs
- WinEventTracker.cs
- ExpandCollapsePattern.cs
- XPathQilFactory.cs
- TcpClientChannel.cs
- DiscoveryDocumentReference.cs
- SingleObjectCollection.cs
- RecognizedAudio.cs
- DesignerLoader.cs
- XmlRawWriterWrapper.cs
- DataShape.cs
- _DomainName.cs
- IssuedTokenParametersElement.cs
- SystemIPInterfaceStatistics.cs
- PropertyState.cs
- CoreSwitches.cs
- Metadata.cs
- SqlXml.cs
- TargetException.cs
- ObjectStateFormatter.cs
- PropertyPath.cs
- BinaryFormatterWriter.cs
- ConcurrentStack.cs
- InternalSafeNativeMethods.cs
- DrawListViewSubItemEventArgs.cs
- Types.cs
- ManagementInstaller.cs
- SmiXetterAccessMap.cs
- XmlNodeChangedEventManager.cs
- QilBinary.cs
- SamlAuthenticationStatement.cs
- AuthenticationSection.cs
- OpCodes.cs
- Thread.cs
- VariableExpressionConverter.cs
- PrePrepareMethodAttribute.cs
- TextBoxDesigner.cs
- DesignerCatalogPartChrome.cs
- PrivilegeNotHeldException.cs
- EmptyReadOnlyDictionaryInternal.cs
- DSASignatureDeformatter.cs
- XmlMapping.cs
- panel.cs
- PingReply.cs
- ViewBox.cs
- StopStoryboard.cs
- DtrList.cs
- Viewport3DAutomationPeer.cs
- IOThreadScheduler.cs
- DataServiceRequestArgs.cs
- Main.cs
- EntitySet.cs
- TextDecorations.cs
- State.cs
- XmlSchemaObject.cs
- DynamicUpdateCommand.cs
- DynamicUpdateCommand.cs
- ToolboxCategory.cs
- TextSchema.cs
- WorkflowApplication.cs
- VirtualDirectoryMapping.cs
- Misc.cs
- NetPeerTcpBindingCollectionElement.cs
- CallbackHandler.cs
- StylusEditingBehavior.cs
- EdmValidator.cs
- DesignRelation.cs
- HorizontalAlignConverter.cs
- FactoryId.cs