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
- XmlSchemaObjectTable.cs
- StringArrayConverter.cs
- XPathNodeInfoAtom.cs
- SecurityUtils.cs
- SmiTypedGetterSetter.cs
- WizardPanel.cs
- DesignerAttribute.cs
- ScriptControlManager.cs
- Operator.cs
- DataControlField.cs
- COM2PictureConverter.cs
- XPathNavigatorReader.cs
- Instrumentation.cs
- XmlSerializer.cs
- BindingGraph.cs
- MetabaseServerConfig.cs
- BitStream.cs
- UnmanagedMemoryStream.cs
- BasePattern.cs
- PolicyAssertionCollection.cs
- CodeMemberEvent.cs
- GenericPrincipal.cs
- BuildTopDownAttribute.cs
- XmlSerializerNamespaces.cs
- XpsS0ValidatingLoader.cs
- FontNameConverter.cs
- TextTrailingWordEllipsis.cs
- CompressEmulationStream.cs
- XPathNavigatorReader.cs
- _NativeSSPI.cs
- ContainerUtilities.cs
- TimeStampChecker.cs
- VirtualDirectoryMappingCollection.cs
- AlphabetConverter.cs
- ResourceCategoryAttribute.cs
- CustomTypeDescriptor.cs
- ConsumerConnectionPointCollection.cs
- GlyphRunDrawing.cs
- FillErrorEventArgs.cs
- IncrementalCompileAnalyzer.cs
- WorkflowQueueInfo.cs
- OneOfConst.cs
- DataGridViewRow.cs
- StylusButtonEventArgs.cs
- CompositionCommandSet.cs
- AuthenticationException.cs
- XamlStyleSerializer.cs
- LinearQuaternionKeyFrame.cs
- ListViewInsertEventArgs.cs
- SystemDropShadowChrome.cs
- PtsHelper.cs
- COAUTHIDENTITY.cs
- SQLMoneyStorage.cs
- HttpConfigurationSystem.cs
- DoubleKeyFrameCollection.cs
- FileLevelControlBuilderAttribute.cs
- DrawingCollection.cs
- BitmapPalettes.cs
- SqlCommand.cs
- TreeViewImageIndexConverter.cs
- SecurityRuntime.cs
- CommonDialog.cs
- EventLogger.cs
- HwndSourceKeyboardInputSite.cs
- XmlNamespaceDeclarationsAttribute.cs
- LZCodec.cs
- SQLBoolean.cs
- WindowsListViewItem.cs
- FixedDocument.cs
- XXXOnTypeBuilderInstantiation.cs
- PropagatorResult.cs
- safesecurityhelperavalon.cs
- QilBinary.cs
- TextEditorTables.cs
- ControlCommandSet.cs
- PrivateFontCollection.cs
- ObjectCacheSettings.cs
- DoubleAnimationUsingKeyFrames.cs
- TypeLoader.cs
- TreeViewBindingsEditor.cs
- ResourceReferenceExpressionConverter.cs
- GetLedgerRequest.cs
- DataContractJsonSerializerOperationFormatter.cs
- GlyphsSerializer.cs
- LinkLabelLinkClickedEvent.cs
- ACE.cs
- XsltLibrary.cs
- DataGridLinkButton.cs
- Attributes.cs
- SQLDecimal.cs
- DesignerHost.cs
- ToolStripControlHost.cs
- DesignerSerializationVisibilityAttribute.cs
- XPathSelfQuery.cs
- DataGridCell.cs
- WebBrowserUriTypeConverter.cs
- MemberInfoSerializationHolder.cs
- FrameworkPropertyMetadata.cs
- XamlUtilities.cs
- PriorityItem.cs