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
- FrameDimension.cs
- OleDbRowUpdatedEvent.cs
- XD.cs
- ParseElementCollection.cs
- HelpEvent.cs
- MenuItemBinding.cs
- ReadOnlyMetadataCollection.cs
- String.cs
- NumberSubstitution.cs
- EntityDataSourceStatementEditor.cs
- SelectedDatesCollection.cs
- XsltSettings.cs
- XmlSerializerSection.cs
- SqlInternalConnection.cs
- ParseHttpDate.cs
- Environment.cs
- XsdDataContractImporter.cs
- CellTreeNode.cs
- PageHandlerFactory.cs
- ObjectQueryState.cs
- InkCanvasSelectionAdorner.cs
- WebPartConnectionsConnectVerb.cs
- SqlStream.cs
- MdiWindowListStrip.cs
- Vector3DKeyFrameCollection.cs
- ConsoleCancelEventArgs.cs
- ScrollChrome.cs
- TextTreeNode.cs
- MsmqChannelListenerBase.cs
- RightsManagementErrorHandler.cs
- DesignTimeVisibleAttribute.cs
- RefType.cs
- ValuePatternIdentifiers.cs
- DrawingImage.cs
- MimeParameterWriter.cs
- TypedReference.cs
- CodeExpressionCollection.cs
- XMLUtil.cs
- WSSecureConversationDec2005.cs
- StorageTypeMapping.cs
- CmsInterop.cs
- CustomAttribute.cs
- DefaultTraceListener.cs
- XmlQualifiedName.cs
- DataGridViewImageColumn.cs
- TextRunCacheImp.cs
- NavigationCommands.cs
- GenericTypeParameterBuilder.cs
- X509ScopedServiceCertificateElement.cs
- TextRangeEdit.cs
- TrackBarRenderer.cs
- HandlerFactoryWrapper.cs
- InputReferenceExpression.cs
- Lease.cs
- Animatable.cs
- SystemIcons.cs
- ListCollectionView.cs
- DocumentPageTextView.cs
- SecurityProtocolFactory.cs
- TraceUtility.cs
- SpinLock.cs
- DictionaryBase.cs
- PropertyMetadata.cs
- RtfControlWordInfo.cs
- BindStream.cs
- ToolstripProfessionalRenderer.cs
- FileChangesMonitor.cs
- ProtocolsConfiguration.cs
- MailSettingsSection.cs
- ProcessHostFactoryHelper.cs
- DataListItemEventArgs.cs
- PackWebRequestFactory.cs
- AsymmetricKeyExchangeFormatter.cs
- _BaseOverlappedAsyncResult.cs
- TextDecorationCollection.cs
- FileDialog_Vista.cs
- DeclarativeConditionsCollection.cs
- WsatServiceCertificate.cs
- HiddenField.cs
- DataGridViewSelectedRowCollection.cs
- EpmTargetTree.cs
- QilNode.cs
- Composition.cs
- GridViewPageEventArgs.cs
- DocumentReferenceCollection.cs
- FieldNameLookup.cs
- DataViewSettingCollection.cs
- PrinterUnitConvert.cs
- AssemblyFilter.cs
- CancellationHandler.cs
- InkCanvasSelectionAdorner.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DocumentPageTextView.cs
- BaseResourcesBuildProvider.cs
- SerializationUtilities.cs
- TextServicesContext.cs
- DoubleLink.cs
- ViewGenerator.cs
- VirtualizingStackPanel.cs
- TypeDescriptor.cs