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
- ToolStripPanelRow.cs
- Block.cs
- XmlSchemaInferenceException.cs
- DebugView.cs
- EncryptedPackageFilter.cs
- Visual3D.cs
- BackgroundFormatInfo.cs
- COM2ICategorizePropertiesHandler.cs
- TabItem.cs
- Brush.cs
- PropertiesTab.cs
- ApplicationDirectory.cs
- ThreadAbortException.cs
- XamlDesignerSerializationManager.cs
- DomainLiteralReader.cs
- FrugalMap.cs
- PropertyTabAttribute.cs
- ContextMenuStrip.cs
- SqlCacheDependencyDatabase.cs
- GridToolTip.cs
- SizeChangedInfo.cs
- DbProviderFactories.cs
- TableParaClient.cs
- Switch.cs
- latinshape.cs
- EventMappingSettingsCollection.cs
- VisualBrush.cs
- UIElement.cs
- DesignerHelpers.cs
- DefaultBinder.cs
- ClientTargetCollection.cs
- Process.cs
- SQLCharsStorage.cs
- TargetFrameworkAttribute.cs
- AttributeData.cs
- MenuRendererStandards.cs
- Application.cs
- SchemaElement.cs
- ProfileSection.cs
- GACIdentityPermission.cs
- SelectManyQueryOperator.cs
- TraceInternal.cs
- XsdBuildProvider.cs
- BroadcastEventHelper.cs
- HttpResponse.cs
- XPathSelectionIterator.cs
- UTF32Encoding.cs
- ErrorsHelper.cs
- EntityDataSourceUtil.cs
- SetIterators.cs
- EncoderNLS.cs
- StorageComplexPropertyMapping.cs
- SqlExpressionNullability.cs
- DelimitedListTraceListener.cs
- MenuEventArgs.cs
- OleDbErrorCollection.cs
- DataGrid.cs
- RoutedEvent.cs
- Events.cs
- SR.cs
- XPathSelectionIterator.cs
- Int32AnimationBase.cs
- TraceInternal.cs
- DataServiceBuildProvider.cs
- DBConcurrencyException.cs
- MsmqHostedTransportConfiguration.cs
- ManagementBaseObject.cs
- FormViewPageEventArgs.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SQLInt64Storage.cs
- MemberNameValidator.cs
- XPathItem.cs
- BuildProvidersCompiler.cs
- StructuredCompositeActivityDesigner.cs
- ClientProxyGenerator.cs
- EventLogWatcher.cs
- DispatcherHooks.cs
- WebPartMenuStyle.cs
- SqlUtil.cs
- HostedElements.cs
- TraversalRequest.cs
- GeometryValueSerializer.cs
- CalendarModeChangedEventArgs.cs
- XmlDomTextWriter.cs
- ColorConvertedBitmap.cs
- XPathAncestorIterator.cs
- ContentDefinition.cs
- XmlObjectSerializerContext.cs
- MemoryRecordBuffer.cs
- basenumberconverter.cs
- DetailsViewRow.cs
- LockedBorderGlyph.cs
- MethodRental.cs
- OverflowException.cs
- IconBitmapDecoder.cs
- TableCell.cs
- VirtualPathProvider.cs
- Range.cs
- HtmlTable.cs
- Mutex.cs