Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertySourceInfo.cs
- securitymgrsite.cs
- WebControl.cs
- SymmetricSecurityProtocolFactory.cs
- LineSegment.cs
- XmlSchemaNotation.cs
- CompositeCollectionView.cs
- ReceiveCompletedEventArgs.cs
- NativeMethods.cs
- LookupBindingPropertiesAttribute.cs
- Constraint.cs
- FontEmbeddingManager.cs
- NullExtension.cs
- Effect.cs
- AncestorChangedEventArgs.cs
- ConnectionInterfaceCollection.cs
- ArgumentException.cs
- XPathAncestorIterator.cs
- SqlClientPermission.cs
- Utils.cs
- XhtmlBasicObjectListAdapter.cs
- XmlSerializerFactory.cs
- Crypto.cs
- DataColumnPropertyDescriptor.cs
- DataPagerFieldItem.cs
- ControlPager.cs
- ImageFormatConverter.cs
- ActivityInstanceMap.cs
- MessageRpc.cs
- XmlSchemaNotation.cs
- OdbcFactory.cs
- IUnknownConstantAttribute.cs
- DeriveBytes.cs
- FileNotFoundException.cs
- KeySplineConverter.cs
- Point3D.cs
- NavigationPropertyEmitter.cs
- ConfigXmlComment.cs
- SiteMapDataSource.cs
- ListItemCollection.cs
- DecimalConverter.cs
- DockPattern.cs
- SafeTimerHandle.cs
- BitmapMetadata.cs
- ClassDataContract.cs
- ChtmlCommandAdapter.cs
- XmlJsonWriter.cs
- GridViewRowPresenter.cs
- PartialCachingControl.cs
- SingleKeyFrameCollection.cs
- TTSEvent.cs
- TextParaLineResult.cs
- XmlSchemaGroup.cs
- ToolStripPanelSelectionGlyph.cs
- BuilderInfo.cs
- FileDataSourceCache.cs
- SystemNetHelpers.cs
- SelectionEditingBehavior.cs
- EdmScalarPropertyAttribute.cs
- InstanceDataCollectionCollection.cs
- SchemaTypeEmitter.cs
- ObjectDataSourceDisposingEventArgs.cs
- CellCreator.cs
- BaseTemplatedMobileComponentEditor.cs
- FixedSOMLineRanges.cs
- PeerNodeAddress.cs
- DesignDataSource.cs
- CopyOfAction.cs
- ApplicationServicesHostFactory.cs
- KeyFrames.cs
- VectorKeyFrameCollection.cs
- Cursor.cs
- AppDomainUnloadedException.cs
- Menu.cs
- ClientConfigurationHost.cs
- ShaderEffect.cs
- ICollection.cs
- DbProviderFactories.cs
- BitFlagsGenerator.cs
- ScheduleChanges.cs
- JoinElimination.cs
- DesignTimeTemplateParser.cs
- FixedSOMTable.cs
- TextElement.cs
- Graph.cs
- EnumUnknown.cs
- DesignerSelectionListAdapter.cs
- MetadataSource.cs
- Preprocessor.cs
- ReaderWriterLockSlim.cs
- Context.cs
- HtmlTextArea.cs
- DetectRunnableInstancesTask.cs
- AsmxEndpointPickerExtension.cs
- ForeignConstraint.cs
- LabelDesigner.cs
- ObjectListFieldsPage.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- HwndTarget.cs
- ComPlusTypeLoader.cs