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
- RegionInfo.cs
- KerberosReceiverSecurityToken.cs
- ObjectListSelectEventArgs.cs
- MemberInfoSerializationHolder.cs
- TextRangeEditTables.cs
- Error.cs
- HorizontalAlignConverter.cs
- GridViewDeleteEventArgs.cs
- ParserContext.cs
- ServerValidateEventArgs.cs
- MD5.cs
- MethodBuilder.cs
- SpeakProgressEventArgs.cs
- TextBoxBase.cs
- PackWebRequestFactory.cs
- FormClosedEvent.cs
- AutoFocusStyle.xaml.cs
- Completion.cs
- CapabilitiesUse.cs
- SqlFacetAttribute.cs
- Helper.cs
- RequestCachePolicyConverter.cs
- SignedXml.cs
- CompoundFileIOPermission.cs
- TrimSurroundingWhitespaceAttribute.cs
- TransactionException.cs
- PersistChildrenAttribute.cs
- listitem.cs
- Predicate.cs
- Image.cs
- RootNamespaceAttribute.cs
- ModuleConfigurationInfo.cs
- Rijndael.cs
- ObjectComplexPropertyMapping.cs
- XmlDesignerDataSourceView.cs
- ExtensionDataReader.cs
- NavigationEventArgs.cs
- BorderGapMaskConverter.cs
- PropertyPathConverter.cs
- EntityProviderFactory.cs
- HttpAsyncResult.cs
- GradientBrush.cs
- RegistryPermission.cs
- ServiceHttpModule.cs
- MessageEncoderFactory.cs
- SemanticAnalyzer.cs
- RangeValueProviderWrapper.cs
- OrCondition.cs
- PermissionSet.cs
- WebRequestModulesSection.cs
- TagElement.cs
- LoadRetryStrategyFactory.cs
- SqlBulkCopyColumnMappingCollection.cs
- XmlHierarchyData.cs
- Win32MouseDevice.cs
- XXXInfos.cs
- TemplateBuilder.cs
- NullRuntimeConfig.cs
- Regex.cs
- TableColumnCollection.cs
- DbDeleteCommandTree.cs
- ComponentRenameEvent.cs
- ValueProviderWrapper.cs
- BufferedGraphicsContext.cs
- ProxyWebPartManager.cs
- RoutedEventHandlerInfo.cs
- CompositeDataBoundControl.cs
- ImageButton.cs
- ManagementEventWatcher.cs
- ProxyGenerator.cs
- ContentTextAutomationPeer.cs
- SoapReflector.cs
- Model3D.cs
- XhtmlMobileTextWriter.cs
- ProfileManager.cs
- Char.cs
- HttpCachePolicyElement.cs
- GridViewSortEventArgs.cs
- CssTextWriter.cs
- XmlTextWriter.cs
- XPathConvert.cs
- SingleAnimationBase.cs
- SynchronizationContextHelper.cs
- QilInvokeLateBound.cs
- WebPartConnectionsCloseVerb.cs
- BackgroundWorker.cs
- TextAdaptor.cs
- EncodingTable.cs
- Utilities.cs
- CharacterMetrics.cs
- Stack.cs
- SiteMembershipCondition.cs
- ComponentEditorPage.cs
- MatrixTransform3D.cs
- AppDomainAttributes.cs
- ObjectConverter.cs
- DefaultTraceListener.cs
- LOSFormatter.cs
- BitmapData.cs
- ProjectionPathSegment.cs