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
- WebPartVerb.cs
- ResourceFallbackManager.cs
- FileVersionInfo.cs
- FloaterParagraph.cs
- DesignerSerializerAttribute.cs
- StringFormat.cs
- DbParameterHelper.cs
- WebPartMinimizeVerb.cs
- Grid.cs
- Funcletizer.cs
- AsyncPostBackErrorEventArgs.cs
- DataExpression.cs
- PropertyBuilder.cs
- XPathChildIterator.cs
- _ConnectOverlappedAsyncResult.cs
- SerialPinChanges.cs
- XmlArrayItemAttributes.cs
- Int64Animation.cs
- PathTooLongException.cs
- WindowsClientElement.cs
- SqlBulkCopyColumnMapping.cs
- Substitution.cs
- ComponentSerializationService.cs
- CompilerCollection.cs
- MenuItem.cs
- RenamedEventArgs.cs
- WebPartCatalogCloseVerb.cs
- XmlSerializerNamespaces.cs
- ClientOptions.cs
- IriParsingElement.cs
- DesignerActionList.cs
- TypeConverter.cs
- TiffBitmapDecoder.cs
- CompositeControl.cs
- SoapExtensionTypeElementCollection.cs
- X509Chain.cs
- AppearanceEditorPart.cs
- SmtpSection.cs
- ProfileServiceManager.cs
- PrintDialog.cs
- VerifyHashRequest.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- MsmqIntegrationBindingElement.cs
- Slider.cs
- ScrollContentPresenter.cs
- CanExpandCollapseAllConverter.cs
- mactripleDES.cs
- ToolTipService.cs
- cookieexception.cs
- TokenBasedSet.cs
- RelationshipManager.cs
- DataGridViewRowsRemovedEventArgs.cs
- Vector3DAnimationBase.cs
- EnterpriseServicesHelper.cs
- VectorKeyFrameCollection.cs
- QueryableFilterUserControl.cs
- Win32MouseDevice.cs
- Constants.cs
- ISAPIRuntime.cs
- ObjectContext.cs
- CodeEventReferenceExpression.cs
- SafeCloseHandleCritical.cs
- WindowsNonControl.cs
- SessionIDManager.cs
- ColorInterpolationModeValidation.cs
- OrderingQueryOperator.cs
- MailMessage.cs
- BitVec.cs
- HeaderElement.cs
- WebPartConnection.cs
- XmlSerializerSection.cs
- SerializableAttribute.cs
- DataContext.cs
- Misc.cs
- ConnectionOrientedTransportBindingElement.cs
- SoapCodeExporter.cs
- CreateUserWizard.cs
- DefaultValueConverter.cs
- ProxyWebPartConnectionCollection.cs
- EntityModelSchemaGenerator.cs
- TextureBrush.cs
- SessionStateUtil.cs
- SiteIdentityPermission.cs
- DesignerValidatorAdapter.cs
- PageParser.cs
- BitmapEffectGroup.cs
- StylusPointProperties.cs
- WinFormsComponentEditor.cs
- EventTrigger.cs
- XmlNode.cs
- ToolStripItemTextRenderEventArgs.cs
- GradientStop.cs
- Timer.cs
- EventlogProvider.cs
- ParserContext.cs
- NetworkInformationPermission.cs
- SqlErrorCollection.cs
- GridViewAutomationPeer.cs
- BypassElementCollection.cs
- PiiTraceSource.cs