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
- ellipse.cs
- TextOutput.cs
- ModifiableIteratorCollection.cs
- MethodBody.cs
- EntityProviderServices.cs
- ApplicationBuildProvider.cs
- Int64KeyFrameCollection.cs
- SByteStorage.cs
- DataList.cs
- XmlDataSourceView.cs
- RequiredAttributeAttribute.cs
- MenuItemBindingCollection.cs
- NavigationProperty.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- PrivateFontCollection.cs
- DiagnosticsConfigurationHandler.cs
- ParameterToken.cs
- _ListenerResponseStream.cs
- RadioButtonFlatAdapter.cs
- ImageFormatConverter.cs
- ChannelManager.cs
- PrintingPermissionAttribute.cs
- HttpModulesSection.cs
- ConfigurationManagerInternalFactory.cs
- ListViewInsertedEventArgs.cs
- TreeNodeBindingCollection.cs
- SrgsRule.cs
- KeyValueConfigurationElement.cs
- ResourcePool.cs
- RegisteredHiddenField.cs
- HwndProxyElementProvider.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- FormViewPageEventArgs.cs
- RectKeyFrameCollection.cs
- ComplexPropertyEntry.cs
- SqlDataRecord.cs
- tibetanshape.cs
- SafeCryptHandles.cs
- WsdlInspector.cs
- StrokeNodeData.cs
- GatewayDefinition.cs
- AutomationElementIdentifiers.cs
- DataTableCollection.cs
- AdornerPresentationContext.cs
- ActivityDesignerLayoutSerializers.cs
- CircleEase.cs
- DrawingContextWalker.cs
- XmlSchemaAny.cs
- xsdvalidator.cs
- DateTimeConverter2.cs
- DataObjectMethodAttribute.cs
- DbBuffer.cs
- ApplicationInfo.cs
- EntityDataSourceStatementEditor.cs
- UserPreferenceChangedEventArgs.cs
- StatusBarDrawItemEvent.cs
- TokenBasedSetEnumerator.cs
- DirectionalLight.cs
- FunctionGenerator.cs
- DbMetaDataColumnNames.cs
- SqlExpressionNullability.cs
- XhtmlTextWriter.cs
- XPathException.cs
- TextSpan.cs
- StateDesignerConnector.cs
- CaseExpr.cs
- CheckBoxField.cs
- BulletedListEventArgs.cs
- Cursor.cs
- TextFormatterImp.cs
- SmtpException.cs
- Double.cs
- ClientSettingsProvider.cs
- XmlNavigatorFilter.cs
- DataTableExtensions.cs
- HuffModule.cs
- ConditionCollection.cs
- DesigntimeLicenseContext.cs
- Stack.cs
- MailAddressParser.cs
- TextPenaltyModule.cs
- XmlNamespaceDeclarationsAttribute.cs
- ToolboxComponentsCreatedEventArgs.cs
- SystemIPv4InterfaceProperties.cs
- List.cs
- StringPropertyBuilder.cs
- MaterializeFromAtom.cs
- _LoggingObject.cs
- SafeHandles.cs
- SchemaCreator.cs
- Profiler.cs
- IMembershipProvider.cs
- TrackingStringDictionary.cs
- ConcurrentDictionary.cs
- CryptoConfig.cs
- BorderSidesEditor.cs
- RuntimeEnvironment.cs
- SimpleExpression.cs
- autovalidator.cs
- WinFormsUtils.cs