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
- SettingsAttributes.cs
- OptimizerPatterns.cs
- AlignmentYValidation.cs
- LicFileLicenseProvider.cs
- ProfilePropertyMetadata.cs
- DataGridAddNewRow.cs
- WsdlInspector.cs
- UpdateEventArgs.cs
- AssemblyUtil.cs
- ConfigurationSectionGroupCollection.cs
- PagesChangedEventArgs.cs
- StringSorter.cs
- SchemaTypeEmitter.cs
- SpnEndpointIdentity.cs
- StateChangeEvent.cs
- TrackBarRenderer.cs
- DataTablePropertyDescriptor.cs
- MachineKeySection.cs
- TypeUtil.cs
- MultipleViewPatternIdentifiers.cs
- RotationValidation.cs
- IncomingWebResponseContext.cs
- ProxyWebPartManager.cs
- LocalizableAttribute.cs
- GregorianCalendar.cs
- BaseDataBoundControl.cs
- AssemblySettingAttributes.cs
- Quaternion.cs
- StaticExtension.cs
- Storyboard.cs
- VariantWrapper.cs
- LinqExpressionNormalizer.cs
- ErrorBehavior.cs
- FlowDocumentPaginator.cs
- EarlyBoundInfo.cs
- GridViewColumn.cs
- SystemInfo.cs
- WebInvokeAttribute.cs
- UniqueIdentifierService.cs
- X509LogoTypeExtension.cs
- StrokeNodeData.cs
- TableStyle.cs
- WinCategoryAttribute.cs
- IApplicationTrustManager.cs
- LineBreak.cs
- WebPartConnectionCollection.cs
- ExpressionBuilder.cs
- LockingPersistenceProvider.cs
- InlineObject.cs
- ConfigPathUtility.cs
- ShapingWorkspace.cs
- AsyncOperationManager.cs
- BrowserCapabilitiesCodeGenerator.cs
- XmlComment.cs
- SHA256.cs
- RegexCaptureCollection.cs
- PassportAuthentication.cs
- CornerRadius.cs
- NativeMethodsCLR.cs
- DataTemplate.cs
- WebBaseEventKeyComparer.cs
- XmlJsonReader.cs
- XslTransform.cs
- ClientScriptManager.cs
- XmlTypeMapping.cs
- CodeTypeParameter.cs
- SingleConverter.cs
- WindowsGraphicsWrapper.cs
- ZipFileInfo.cs
- HostedElements.cs
- UnsafeNativeMethods.cs
- WorkflowClientDeliverMessageWrapper.cs
- DateTimeOffsetStorage.cs
- ToolboxItem.cs
- AssemblyHash.cs
- XmlWhitespace.cs
- NonParentingControl.cs
- SchemaImporterExtensionElement.cs
- Mouse.cs
- InteropDesigner.xaml.cs
- WizardStepBase.cs
- ListBoxItemAutomationPeer.cs
- PanelStyle.cs
- CollectionChangeEventArgs.cs
- StoreContentChangedEventArgs.cs
- WebControlsSection.cs
- XmlSchemaAnnotation.cs
- MiniMapControl.xaml.cs
- XmlDataDocument.cs
- DecimalKeyFrameCollection.cs
- UnsafeNativeMethods.cs
- LambdaCompiler.Binary.cs
- SecurityTokenValidationException.cs
- XMLSchema.cs
- HMACSHA256.cs
- FastEncoderWindow.cs
- RuleInfoComparer.cs
- EdgeProfileValidation.cs
- CustomValidator.cs
- XmlSchemaSimpleTypeUnion.cs