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
- CharacterBuffer.cs
- VisemeEventArgs.cs
- TypeDescriptionProviderAttribute.cs
- SmiEventSink_Default.cs
- ServiceModelSecurityTokenTypes.cs
- ShapeTypeface.cs
- PublisherMembershipCondition.cs
- CodeMethodInvokeExpression.cs
- EntityContainerEntitySet.cs
- HtmlGenericControl.cs
- COM2PropertyDescriptor.cs
- HitTestParameters.cs
- FieldBuilder.cs
- isolationinterop.cs
- CodeDomSerializerException.cs
- InputBuffer.cs
- ApplyHostConfigurationBehavior.cs
- InputManager.cs
- GenericRootAutomationPeer.cs
- ComboBoxAutomationPeer.cs
- HttpHandlersSection.cs
- InfoCardKeyedHashAlgorithm.cs
- XmlAttributeProperties.cs
- SqlDependencyUtils.cs
- ReaderWriterLock.cs
- WebServiceEnumData.cs
- TableChangeProcessor.cs
- HuffModule.cs
- HyperLinkStyle.cs
- Point3DCollection.cs
- ListViewTableCell.cs
- XamlValidatingReader.cs
- TimeoutException.cs
- Pen.cs
- SamlAttribute.cs
- ChannelServices.cs
- ButtonPopupAdapter.cs
- Point3D.cs
- RuntimeEnvironment.cs
- CustomErrorCollection.cs
- DataGridRowEventArgs.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- HtmlShimManager.cs
- XsltConvert.cs
- DependencyPropertyAttribute.cs
- XslTransformFileEditor.cs
- DataGridViewButtonColumn.cs
- RSAPKCS1KeyExchangeFormatter.cs
- XmlSchemaSimpleContentRestriction.cs
- CanExecuteRoutedEventArgs.cs
- VersionedStream.cs
- SecurityPolicySection.cs
- Ipv6Element.cs
- BufferedWebEventProvider.cs
- MatrixTransform.cs
- TextTreeDeleteContentUndoUnit.cs
- CommonRemoteMemoryBlock.cs
- StateBag.cs
- DbTransaction.cs
- PostBackTrigger.cs
- StylusPointProperties.cs
- OdbcConnectionString.cs
- ViewCellRelation.cs
- Geometry3D.cs
- DecoderBestFitFallback.cs
- AutomationTextAttribute.cs
- NodeInfo.cs
- RuleInfoComparer.cs
- QuadraticBezierSegment.cs
- OpCodes.cs
- coordinatorscratchpad.cs
- DetailsViewCommandEventArgs.cs
- WhiteSpaceTrimStringConverter.cs
- ProgressiveCrcCalculatingStream.cs
- LayoutEditorPart.cs
- ConfigurationElement.cs
- EdmToObjectNamespaceMap.cs
- MenuBindingsEditorForm.cs
- DropSource.cs
- WindowsNonControl.cs
- SQLInt64.cs
- MultipartContentParser.cs
- ToolStripOverflow.cs
- ValidationErrorEventArgs.cs
- ConstraintEnumerator.cs
- HttpClientCertificate.cs
- UnSafeCharBuffer.cs
- GeneralTransform.cs
- InputQueue.cs
- SecurityHeaderTokenResolver.cs
- DocumentGridPage.cs
- XmlSchemaSet.cs
- Int32Converter.cs
- ObjectDataSourceDisposingEventArgs.cs
- HostVisual.cs
- InputBuffer.cs
- XPathSelectionIterator.cs
- LocatorPartList.cs
- DataContext.cs
- DbMetaDataFactory.cs