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
- ComponentDispatcherThread.cs
- Pair.cs
- TrustManagerPromptUI.cs
- UnknownWrapper.cs
- XsdBuilder.cs
- XmlDataProvider.cs
- PublisherIdentityPermission.cs
- _emptywebproxy.cs
- StringAnimationBase.cs
- GiveFeedbackEventArgs.cs
- QueueProcessor.cs
- DataTable.cs
- ButtonFieldBase.cs
- IgnoreFlushAndCloseStream.cs
- CounterSetInstance.cs
- BooleanAnimationBase.cs
- DiscoveryClientProtocol.cs
- XmlSerializerFactory.cs
- IChannel.cs
- MsmqEncryptionAlgorithm.cs
- SerialReceived.cs
- PropertiesTab.cs
- CompatibleIComparer.cs
- SqlInternalConnectionSmi.cs
- SystemWebCachingSectionGroup.cs
- SoapAttributeOverrides.cs
- SamlConditions.cs
- HideDisabledControlAdapter.cs
- NameObjectCollectionBase.cs
- PathFigureCollectionConverter.cs
- SequentialOutput.cs
- CommandField.cs
- HierarchicalDataTemplate.cs
- AsymmetricSignatureDeformatter.cs
- Geometry3D.cs
- ZipIOExtraFieldPaddingElement.cs
- AddInSegmentDirectoryNotFoundException.cs
- DataGridViewAccessibleObject.cs
- DetailsViewInsertedEventArgs.cs
- SqlGenerator.cs
- StrokeNodeOperations.cs
- TraceListener.cs
- _SslState.cs
- StoragePropertyMapping.cs
- PerformanceCounterPermissionEntry.cs
- SinglePageViewer.cs
- DeferredRunTextReference.cs
- DocumentPageViewAutomationPeer.cs
- X509SecurityToken.cs
- GridViewCommandEventArgs.cs
- SrgsElementFactoryCompiler.cs
- CodeConditionStatement.cs
- DataGridState.cs
- EntityDataSourceDataSelection.cs
- DesignerTransactionCloseEvent.cs
- Calendar.cs
- RelationshipConverter.cs
- AtlasWeb.Designer.cs
- PtsHost.cs
- SQLByteStorage.cs
- ComplexPropertyEntry.cs
- ColumnClickEvent.cs
- BulletDecorator.cs
- SafeHandle.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- ParseNumbers.cs
- DelegateSerializationHolder.cs
- LockedActivityGlyph.cs
- SizeAnimationUsingKeyFrames.cs
- PageParserFilter.cs
- FlowNode.cs
- InitializationEventAttribute.cs
- GatewayIPAddressInformationCollection.cs
- SqlIdentifier.cs
- Highlights.cs
- SqlBuffer.cs
- DropTarget.cs
- AggregationMinMaxHelpers.cs
- PropertyMapper.cs
- SafeCertificateStore.cs
- unsafeIndexingFilterStream.cs
- DataGridParentRows.cs
- EnumValAlphaComparer.cs
- Thread.cs
- LogEntryHeaderv1Deserializer.cs
- CalendarDay.cs
- HandlerMappingMemo.cs
- PrintDialog.cs
- LeaseManager.cs
- MenuScrollingVisibilityConverter.cs
- TextContainerChangeEventArgs.cs
- MediaPlayerState.cs
- CharacterHit.cs
- SpecularMaterial.cs
- ToolStripLabel.cs
- PenThreadPool.cs
- CanonicalXml.cs
- FamilyTypeface.cs
- WorkflowEnvironment.cs
- WsatTransactionFormatter.cs