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
- DataChangedEventManager.cs
- TextTreeObjectNode.cs
- EmissiveMaterial.cs
- OuterGlowBitmapEffect.cs
- HostingEnvironmentSection.cs
- TdsRecordBufferSetter.cs
- ComponentDispatcherThread.cs
- DrawingGroup.cs
- BinaryObjectInfo.cs
- RepeatBehavior.cs
- SQLGuid.cs
- SecondaryViewProvider.cs
- DataGridViewCellParsingEventArgs.cs
- Set.cs
- IOException.cs
- DoubleLinkList.cs
- DelegateOutArgument.cs
- RemoteWebConfigurationHostServer.cs
- PassportAuthenticationModule.cs
- ChildDocumentBlock.cs
- ListDictionaryInternal.cs
- ImageCodecInfoPrivate.cs
- RsaSecurityToken.cs
- FlowLayoutPanel.cs
- EllipseGeometry.cs
- HttpStreamMessage.cs
- ChangePassword.cs
- Polyline.cs
- WebPartConnectionsConnectVerb.cs
- FragmentQuery.cs
- FtpCachePolicyElement.cs
- SettingsProviderCollection.cs
- ProcessInfo.cs
- SchemaImporterExtension.cs
- PolicyUnit.cs
- OdbcEnvironmentHandle.cs
- XmlComment.cs
- EmbeddedMailObjectsCollection.cs
- WindowsProgressbar.cs
- ExpressionPrinter.cs
- EntityKey.cs
- EdmEntityTypeAttribute.cs
- Tool.cs
- SQLDecimal.cs
- SqlProfileProvider.cs
- BufferedResponseStream.cs
- MatrixKeyFrameCollection.cs
- KoreanCalendar.cs
- ICspAsymmetricAlgorithm.cs
- SuppressMergeCheckAttribute.cs
- WindowsStreamSecurityElement.cs
- DbParameterCollection.cs
- _OverlappedAsyncResult.cs
- PnrpPermission.cs
- KnownTypeAttribute.cs
- _Events.cs
- validation.cs
- PersonalizationAdministration.cs
- SoapCodeExporter.cs
- CustomErrorCollection.cs
- WebPartCatalogCloseVerb.cs
- GraphicsState.cs
- ObjectStateFormatter.cs
- DriveNotFoundException.cs
- PtsPage.cs
- ControlBindingsCollection.cs
- SerializationBinder.cs
- CodeMemberProperty.cs
- WorkflowTransactionOptions.cs
- ContainerControl.cs
- Command.cs
- Suspend.cs
- PropertyChangedEventManager.cs
- InstanceCreationEditor.cs
- DispatcherOperation.cs
- FuncCompletionCallbackWrapper.cs
- TextDecorationCollection.cs
- ViewDesigner.cs
- HitTestFilterBehavior.cs
- PathHelper.cs
- InputLanguageProfileNotifySink.cs
- PenThread.cs
- EntityAdapter.cs
- MemberNameValidator.cs
- IteratorFilter.cs
- HyperLinkField.cs
- CalendarSelectionChangedEventArgs.cs
- MetricEntry.cs
- HttpModuleAction.cs
- TrustManager.cs
- TypeCodeDomSerializer.cs
- SessionPageStateSection.cs
- BufferedReadStream.cs
- BitmapCodecInfo.cs
- MaskedTextBoxTextEditor.cs
- CodeThrowExceptionStatement.cs
- sqlstateclientmanager.cs
- Point3DCollection.cs
- InstancePersistenceCommandException.cs
- NativeCppClassAttribute.cs