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
- AssemblyResourceLoader.cs
- WebEncodingValidator.cs
- ComEventsSink.cs
- ObjectConverter.cs
- TraceFilter.cs
- Propagator.Evaluator.cs
- XslCompiledTransform.cs
- OperandQuery.cs
- HTTPNotFoundHandler.cs
- SchemaUtility.cs
- ProtectedConfiguration.cs
- OverrideMode.cs
- TextDpi.cs
- DataGridViewRowConverter.cs
- InstanceValue.cs
- Tile.cs
- CustomValidator.cs
- InkCanvasAutomationPeer.cs
- DesignerHelpers.cs
- CombinedHttpChannel.cs
- TcpChannelHelper.cs
- HttpWebRequestElement.cs
- ControlCollection.cs
- XsltArgumentList.cs
- Viewport2DVisual3D.cs
- SchemaLookupTable.cs
- ZipIOExtraFieldZip64Element.cs
- ResponseBodyWriter.cs
- JsonQueryStringConverter.cs
- InputBinder.cs
- HybridObjectCache.cs
- ContentElement.cs
- ToolStripInSituService.cs
- CharacterMetrics.cs
- BaseParser.cs
- CommonRemoteMemoryBlock.cs
- Rect.cs
- KeyInstance.cs
- CompositeClientFormatter.cs
- SQLDouble.cs
- LineBreakRecord.cs
- DataGridItemAutomationPeer.cs
- AutoResizedEvent.cs
- AvTraceDetails.cs
- CodeExpressionRuleDeclaration.cs
- PageContentCollection.cs
- WindowHideOrCloseTracker.cs
- WindowClosedEventArgs.cs
- Win32Native.cs
- CachedPathData.cs
- PageCopyCount.cs
- SQLChars.cs
- LinqDataSourceEditData.cs
- DataServiceCollectionOfT.cs
- CheckBoxAutomationPeer.cs
- AppLevelCompilationSectionCache.cs
- XPathAxisIterator.cs
- AutomationElement.cs
- OracleParameterBinding.cs
- DesignerCategoryAttribute.cs
- ImageSource.cs
- PolygonHotSpot.cs
- XmlSchemaExporter.cs
- Paragraph.cs
- HwndSource.cs
- __ConsoleStream.cs
- LinearQuaternionKeyFrame.cs
- CompositeDuplexBindingElementImporter.cs
- BaseDataList.cs
- BaseTemplatedMobileComponentEditor.cs
- CredentialCache.cs
- XhtmlBasicPanelAdapter.cs
- TextSpanModifier.cs
- ParsedAttributeCollection.cs
- CodeGotoStatement.cs
- MetadataPropertyCollection.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- XmlWrappingReader.cs
- SourceInterpreter.cs
- BrowserDefinition.cs
- MarshalByValueComponent.cs
- HotSpotCollection.cs
- DBConnectionString.cs
- TabControl.cs
- ScriptIgnoreAttribute.cs
- WebPartZoneBase.cs
- DesignerLoader.cs
- TemplateFactory.cs
- RegistryKey.cs
- XamlDesignerSerializationManager.cs
- ProcessManager.cs
- TypedColumnHandler.cs
- TreeBuilderXamlTranslator.cs
- TemplateNameScope.cs
- IERequestCache.cs
- HTMLTextWriter.cs
- RequiredFieldValidator.cs
- ToolStripContainer.cs
- CircleEase.cs
- webeventbuffer.cs