Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceKeyNotReadyException.cs / 1305376 / InstanceKeyNotReadyException.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 InstanceKeyNotReadyException : InstancePersistenceCommandException
{
const string InstanceKeyName = "instancePersistenceInstanceKey";
public InstanceKeyNotReadyException()
: this(SRCore.KeyNotReadyDefault, null)
{
}
public InstanceKeyNotReadyException(string message)
: this(message, null)
{
}
public InstanceKeyNotReadyException(string message, Exception innerException)
: base(message, innerException)
{
}
public InstanceKeyNotReadyException(XName commandName, InstanceKey instanceKey)
: this(commandName, instanceKey, null)
{
}
public InstanceKeyNotReadyException(XName commandName, InstanceKey instanceKey, Exception innerException)
: this(commandName, Guid.Empty, instanceKey, ToMessage(instanceKey), innerException)
{
}
public InstanceKeyNotReadyException(XName commandName, Guid instanceId, InstanceKey instanceKey, string message, Exception innerException)
: base(commandName, instanceId, message, innerException)
{
InstanceKey = instanceKey;
}
[SecurityCritical]
protected InstanceKeyNotReadyException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
Guid guid = (Guid) info.GetValue(InstanceKeyName, typeof(Guid));
InstanceKey = guid == Guid.Empty ? null : new InstanceKey(guid);
}
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(InstanceKeyName, (InstanceKey != null && InstanceKey.IsValid) ? InstanceKey.Value : Guid.Empty, typeof(Guid));
}
static string ToMessage(InstanceKey instanceKey)
{
if (instanceKey != null && instanceKey.IsValid)
{
return SRCore.KeyNotReadySpecific(instanceKey.Value);
}
return SRCore.KeyNotReadyDefault;
}
}
}
// 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
- SecuritySessionFilter.cs
- PingOptions.cs
- DiscreteKeyFrames.cs
- DrawItemEvent.cs
- WithStatement.cs
- CLSCompliantAttribute.cs
- SelectionHighlightInfo.cs
- CompensateDesigner.cs
- WSSecurityPolicy12.cs
- Label.cs
- InputProviderSite.cs
- RangeValuePatternIdentifiers.cs
- EmptyEnumerator.cs
- DecoderReplacementFallback.cs
- NamedPipeAppDomainProtocolHandler.cs
- ArcSegment.cs
- CleanUpVirtualizedItemEventArgs.cs
- WebConvert.cs
- SubclassTypeValidatorAttribute.cs
- StateDesigner.Layouts.cs
- NetNamedPipeBindingElement.cs
- WebConfigManager.cs
- DodSequenceMerge.cs
- Int16.cs
- CompleteWizardStep.cs
- ApplicationHost.cs
- Codec.cs
- AccessText.cs
- ConfigXmlAttribute.cs
- DataGridViewHitTestInfo.cs
- ExpressionEvaluator.cs
- KeyValuePair.cs
- ObjectDataSourceSelectingEventArgs.cs
- PropertyKey.cs
- PropertyFilterAttribute.cs
- ToolStripScrollButton.cs
- ObjectDisposedException.cs
- UriParserTemplates.cs
- WindowAutomationPeer.cs
- ConcatQueryOperator.cs
- PixelShader.cs
- XPathScanner.cs
- MultiTrigger.cs
- Monitor.cs
- UnmanagedMemoryStream.cs
- EncoderParameters.cs
- RadioButtonList.cs
- OleStrCAMarshaler.cs
- InputReportEventArgs.cs
- OutputCacheProfileCollection.cs
- NetworkInterface.cs
- HostingEnvironmentSection.cs
- XXXInfos.cs
- TableAutomationPeer.cs
- WMIGenerator.cs
- AdapterDictionary.cs
- XPathAxisIterator.cs
- EditableRegion.cs
- DataGridViewColumnEventArgs.cs
- FrameworkElementAutomationPeer.cs
- TextEditorSpelling.cs
- Constant.cs
- Sql8ConformanceChecker.cs
- ListBox.cs
- SkipStoryboardToFill.cs
- X509ChainElement.cs
- ObjectCloneHelper.cs
- MessageBodyDescription.cs
- ContractSearchPattern.cs
- ListViewItemMouseHoverEvent.cs
- WebAdminConfigurationHelper.cs
- ParallelEnumerableWrapper.cs
- AuthenticationConfig.cs
- PagedDataSource.cs
- NamespaceMapping.cs
- InstallerTypeAttribute.cs
- MeshGeometry3D.cs
- EndEvent.cs
- MailMessageEventArgs.cs
- Pkcs7Signer.cs
- PageTheme.cs
- ReturnEventArgs.cs
- StrongNameIdentityPermission.cs
- HttpCookie.cs
- StoragePropertyMapping.cs
- ActiveDocumentEvent.cs
- UnmanagedBitmapWrapper.cs
- ChainOfResponsibility.cs
- MarshalByRefObject.cs
- ScaleTransform.cs
- WebPageTraceListener.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ImageListUtils.cs
- ContentTypeSettingClientMessageFormatter.cs
- SQLBoolean.cs
- CqlIdentifiers.cs
- QueryOutputWriter.cs
- PropertyItem.cs
- RuntimeHandles.cs
- ErrorStyle.cs