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
- WorkflowViewService.cs
- Converter.cs
- CompiledQuery.cs
- TextContainer.cs
- ComponentCommands.cs
- FileUpload.cs
- HtmlImage.cs
- BufferedWebEventProvider.cs
- MSAAEventDispatcher.cs
- OrderedEnumerableRowCollection.cs
- Sql8ExpressionRewriter.cs
- QueryPageSettingsEventArgs.cs
- CompositeTypefaceMetrics.cs
- SigningCredentials.cs
- WmfPlaceableFileHeader.cs
- XmlUTF8TextReader.cs
- HttpPostedFileBase.cs
- DataGridViewCellLinkedList.cs
- Primitive.cs
- StorageModelBuildProvider.cs
- SourceSwitch.cs
- _BasicClient.cs
- ImageFormat.cs
- CheckBoxBaseAdapter.cs
- PathParser.cs
- NamespaceEmitter.cs
- FilteredDataSetHelper.cs
- BevelBitmapEffect.cs
- GenerateTemporaryTargetAssembly.cs
- WebResourceUtil.cs
- _SslSessionsCache.cs
- SchemaCollectionCompiler.cs
- sqlcontext.cs
- DetailsViewUpdateEventArgs.cs
- XmlCountingReader.cs
- _ListenerResponseStream.cs
- ConstructorArgumentAttribute.cs
- AliasedSlot.cs
- Stack.cs
- GiveFeedbackEventArgs.cs
- DataRow.cs
- PointKeyFrameCollection.cs
- EditorAttributeInfo.cs
- BindUriHelper.cs
- PageClientProxyGenerator.cs
- XmlObjectSerializerWriteContext.cs
- CodeExpressionStatement.cs
- NetworkCredential.cs
- RulePatternOps.cs
- EnumConverter.cs
- EntityChangedParams.cs
- WindowShowOrOpenTracker.cs
- MultiTrigger.cs
- SaveFileDialog.cs
- ContainerActivationHelper.cs
- _BufferOffsetSize.cs
- TypeConverter.cs
- SemanticAnalyzer.cs
- DocumentXPathNavigator.cs
- ComPlusServiceLoader.cs
- Wildcard.cs
- WorkflowOwnerAsyncResult.cs
- Codec.cs
- NetworkAddressChange.cs
- Frame.cs
- WebPartsPersonalization.cs
- FixedPageProcessor.cs
- EntityKeyElement.cs
- FixedDSBuilder.cs
- SQLConvert.cs
- IntSecurity.cs
- MailWebEventProvider.cs
- CustomCredentialPolicy.cs
- DataGridViewColumnCollection.cs
- SqlTypeConverter.cs
- XmlDataFileEditor.cs
- CodeTypeDeclaration.cs
- DbReferenceCollection.cs
- VarInfo.cs
- DynamicField.cs
- ResourceSet.cs
- AspNetHostingPermission.cs
- FontCacheLogic.cs
- StackBuilderSink.cs
- BaseTemplateCodeDomTreeGenerator.cs
- WindowsPrincipal.cs
- MemberCollection.cs
- Funcletizer.cs
- pingexception.cs
- InputLangChangeRequestEvent.cs
- _NetworkingPerfCounters.cs
- TextEncodedRawTextWriter.cs
- UnknownWrapper.cs
- FormatException.cs
- SystemWebSectionGroup.cs
- TreeViewItem.cs
- InfocardExtendedInformationEntry.cs
- X509Chain.cs
- __TransparentProxy.cs
- InvalidCastException.cs