Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceKeyCollisionException.cs / 1305376 / InstanceKeyCollisionException.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.DurableInstancing { using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Security; using System.Xml.Linq; [Serializable] public class InstanceKeyCollisionException : InstancePersistenceCommandException { const string ConflictingInstanceIdName = "instancePersistenceConflictingInstanceId"; const string InstanceKeyName = "instancePersistenceInstanceKey"; public InstanceKeyCollisionException() : this(SRCore.KeyCollisionDefault, null) { } public InstanceKeyCollisionException(string message) : this(message, null) { } public InstanceKeyCollisionException(string message, Exception innerException) : base(message, innerException) { } public InstanceKeyCollisionException(XName commandName, Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId) : this(commandName, instanceId, instanceKey, conflictingInstanceId, null) { } public InstanceKeyCollisionException(XName commandName, Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId, Exception innerException) : this(commandName, instanceId, instanceKey, conflictingInstanceId, ToMessage(instanceId, instanceKey, conflictingInstanceId), innerException) { } public InstanceKeyCollisionException(XName commandName, Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId, string message, Exception innerException) : base(commandName, instanceId, message, innerException) { ConflictingInstanceId = conflictingInstanceId; InstanceKey = instanceKey; } [SecurityCritical] protected InstanceKeyCollisionException(SerializationInfo info, StreamingContext context) : base(info, context) { ConflictingInstanceId = (Guid) info.GetValue(ConflictingInstanceIdName, typeof(Guid)); Guid guid = (Guid) info.GetValue(InstanceKeyName, typeof(Guid)); InstanceKey = guid == Guid.Empty ? null : new InstanceKey(guid); } public Guid ConflictingInstanceId { get; private set; } public InstanceKey InstanceKey { 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(ConflictingInstanceIdName, ConflictingInstanceId, typeof(Guid)); info.AddValue(InstanceKeyName, (InstanceKey != null && InstanceKey.IsValid) ? InstanceKey.Value : Guid.Empty, typeof(Guid)); } static string ToMessage(Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId) { if (instanceKey != null && instanceKey.IsValid) { if (instanceId != Guid.Empty && conflictingInstanceId != Guid.Empty) { return SRCore.KeyCollisionSpecific(instanceId, instanceKey.Value, conflictingInstanceId); } return SRCore.KeyCollisionSpecificKeyOnly(instanceKey.Value); } return SRCore.KeyCollisionDefault; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.DurableInstancing { using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Security; using System.Xml.Linq; [Serializable] public class InstanceKeyCollisionException : InstancePersistenceCommandException { const string ConflictingInstanceIdName = "instancePersistenceConflictingInstanceId"; const string InstanceKeyName = "instancePersistenceInstanceKey"; public InstanceKeyCollisionException() : this(SRCore.KeyCollisionDefault, null) { } public InstanceKeyCollisionException(string message) : this(message, null) { } public InstanceKeyCollisionException(string message, Exception innerException) : base(message, innerException) { } public InstanceKeyCollisionException(XName commandName, Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId) : this(commandName, instanceId, instanceKey, conflictingInstanceId, null) { } public InstanceKeyCollisionException(XName commandName, Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId, Exception innerException) : this(commandName, instanceId, instanceKey, conflictingInstanceId, ToMessage(instanceId, instanceKey, conflictingInstanceId), innerException) { } public InstanceKeyCollisionException(XName commandName, Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId, string message, Exception innerException) : base(commandName, instanceId, message, innerException) { ConflictingInstanceId = conflictingInstanceId; InstanceKey = instanceKey; } [SecurityCritical] protected InstanceKeyCollisionException(SerializationInfo info, StreamingContext context) : base(info, context) { ConflictingInstanceId = (Guid) info.GetValue(ConflictingInstanceIdName, typeof(Guid)); Guid guid = (Guid) info.GetValue(InstanceKeyName, typeof(Guid)); InstanceKey = guid == Guid.Empty ? null : new InstanceKey(guid); } public Guid ConflictingInstanceId { get; private set; } public InstanceKey InstanceKey { 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(ConflictingInstanceIdName, ConflictingInstanceId, typeof(Guid)); info.AddValue(InstanceKeyName, (InstanceKey != null && InstanceKey.IsValid) ? InstanceKey.Value : Guid.Empty, typeof(Guid)); } static string ToMessage(Guid instanceId, InstanceKey instanceKey, Guid conflictingInstanceId) { if (instanceKey != null && instanceKey.IsValid) { if (instanceId != Guid.Empty && conflictingInstanceId != Guid.Empty) { return SRCore.KeyCollisionSpecific(instanceId, instanceKey.Value, conflictingInstanceId); } return SRCore.KeyCollisionSpecificKeyOnly(instanceKey.Value); } return SRCore.KeyCollisionDefault; } } } // 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
- TemplateColumn.cs
- ItemCollection.cs
- ExecutionEngineException.cs
- MetadataSerializer.cs
- PrimitiveXmlSerializers.cs
- EnumBuilder.cs
- TreeView.cs
- PackageDigitalSignatureManager.cs
- SafeViewOfFileHandle.cs
- Script.cs
- Authorization.cs
- PictureBox.cs
- ObjectReaderCompiler.cs
- TypefaceMetricsCache.cs
- XmlDomTextWriter.cs
- StrongNameIdentityPermission.cs
- ProxyWebPartConnectionCollection.cs
- DocumentViewerConstants.cs
- SynchronizedDispatch.cs
- URLEditor.cs
- ITreeGenerator.cs
- FileLoadException.cs
- XmlQueryType.cs
- LocatorPartList.cs
- PointConverter.cs
- ReadWriteObjectLock.cs
- ClientSession.cs
- DispatcherExceptionFilterEventArgs.cs
- BrowserTree.cs
- Transform3D.cs
- ParseChildrenAsPropertiesAttribute.cs
- LocatorBase.cs
- TextHintingModeValidation.cs
- Zone.cs
- GridViewRowPresenter.cs
- CollaborationHelperFunctions.cs
- XmlWellformedWriter.cs
- SafeFileMappingHandle.cs
- ObjectStateManager.cs
- XmlDataSourceNodeDescriptor.cs
- __ComObject.cs
- Documentation.cs
- TypeUtil.cs
- Version.cs
- LocationSectionRecord.cs
- DataBoundLiteralControl.cs
- DeflateStream.cs
- TextBounds.cs
- UrlAuthorizationModule.cs
- OSFeature.cs
- HandledEventArgs.cs
- BindingList.cs
- ContextMenu.cs
- CallContext.cs
- IxmlLineInfo.cs
- DoubleConverter.cs
- Parser.cs
- CommentAction.cs
- SerializationAttributes.cs
- RtfControls.cs
- SiteOfOriginContainer.cs
- ResourceExpressionEditorSheet.cs
- _BaseOverlappedAsyncResult.cs
- SafeBitVector32.cs
- SchemaTableOptionalColumn.cs
- FlowDocument.cs
- CodeChecksumPragma.cs
- DesignerVerbCollection.cs
- XmlSchemaCompilationSettings.cs
- CommandField.cs
- MethodExecutor.cs
- TempFiles.cs
- SafeIUnknown.cs
- GridViewColumn.cs
- HebrewCalendar.cs
- MetadataProperty.cs
- MetadataWorkspace.cs
- RayMeshGeometry3DHitTestResult.cs
- ArcSegment.cs
- TextEditorCopyPaste.cs
- WSTrustFeb2005.cs
- XmlLoader.cs
- EventOpcode.cs
- DataGridTablesFactory.cs
- CompareValidator.cs
- CryptoConfig.cs
- SqlCacheDependencySection.cs
- TrueReadOnlyCollection.cs
- _SpnDictionary.cs
- SqlUDTStorage.cs
- SourceSwitch.cs
- SystemIPInterfaceProperties.cs
- WebEvents.cs
- ObjectStateFormatter.cs
- StrokeNodeEnumerator.cs
- SchemaSetCompiler.cs
- AsyncCodeActivityContext.cs
- AdornerHitTestResult.cs
- HttpDictionary.cs
- ThreadStateException.cs