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
- dsa.cs
- WorkflowEventArgs.cs
- Certificate.cs
- DescriptionAttribute.cs
- TemplateBuilder.cs
- DbSource.cs
- StyleCollection.cs
- RelativeSource.cs
- PointCollection.cs
- CodeGeneratorOptions.cs
- XmlImplementation.cs
- DependencyObjectValidator.cs
- TypeValidationEventArgs.cs
- EventProviderBase.cs
- RulePatternOps.cs
- DATA_BLOB.cs
- XPathAncestorIterator.cs
- PkcsMisc.cs
- AppDomain.cs
- SqlTypeSystemProvider.cs
- ReturnValue.cs
- ProjectedSlot.cs
- WindowsSysHeader.cs
- ButtonFieldBase.cs
- BaseHashHelper.cs
- EncoderReplacementFallback.cs
- PropertySourceInfo.cs
- Delay.cs
- DbException.cs
- DES.cs
- TimeSpan.cs
- ItemCheckedEvent.cs
- CallTemplateAction.cs
- SourceSwitch.cs
- UnsafeNativeMethods.cs
- CodeVariableDeclarationStatement.cs
- AnnotationResourceChangedEventArgs.cs
- ImageCodecInfo.cs
- Path.cs
- BamlStream.cs
- WindowsSlider.cs
- CodeArrayCreateExpression.cs
- SqlDataReader.cs
- InternalConfigRoot.cs
- SoapTypeAttribute.cs
- MdbDataFileEditor.cs
- StringWriter.cs
- RuntimeConfig.cs
- AsymmetricKeyExchangeDeformatter.cs
- SendMailErrorEventArgs.cs
- columnmapfactory.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- DBSchemaTable.cs
- SqlAliaser.cs
- QueueProcessor.cs
- SettingsPropertyIsReadOnlyException.cs
- FixedDSBuilder.cs
- DuplexSecurityProtocolFactory.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- XmlCollation.cs
- SmiRecordBuffer.cs
- ContextMenu.cs
- DnsPermission.cs
- StructuralCache.cs
- TextParaLineResult.cs
- UriSection.cs
- PointLightBase.cs
- XPathExpr.cs
- DrawingServices.cs
- SwitchElementsCollection.cs
- RectKeyFrameCollection.cs
- mansign.cs
- ReservationCollection.cs
- ServiceEndpointElement.cs
- XmlSchemaSequence.cs
- VBCodeProvider.cs
- DynamicMethod.cs
- XmlQueryRuntime.cs
- ClientBuildManager.cs
- TypeBrowserDialog.cs
- MappingException.cs
- WindowsMenu.cs
- TextEffectCollection.cs
- SymbolMethod.cs
- BuildResult.cs
- TraceContextRecord.cs
- FileLogRecordStream.cs
- Encoding.cs
- TimeSpanOrInfiniteConverter.cs
- SafeBitVector32.cs
- FilterableAttribute.cs
- WebServiceEnumData.cs
- HMACRIPEMD160.cs
- RegexStringValidator.cs
- ArrayItemReference.cs
- FlowLayoutPanelDesigner.cs
- HtmlControlDesigner.cs
- MemberAssignmentAnalysis.cs
- DoubleLinkList.cs
- LinqDataSourceContextEventArgs.cs