Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / ServiceModel / Description / PersistenceProviderBehavior.cs / 1305376 / PersistenceProviderBehavior.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Description
{
using System;
using System.Globalization;
using System.ServiceModel.Administration;
using System.ServiceModel.Persistence;
public class PersistenceProviderBehavior : IServiceBehavior, IWmiInstanceProvider
{
internal static readonly TimeSpan DefaultPersistenceOperationTimeout = TimeSpan.Parse(DefaultPersistenceOperationTimeoutString, CultureInfo.InvariantCulture);
// 30 seconds was chosen because it is the default timeout for SqlCommand
// (seemed like a reasonable reference point)
internal const string DefaultPersistenceOperationTimeoutString = "00:00:30";
TimeSpan persistenceOperationTimeout;
PersistenceProviderFactory persistenceProviderFactory;
public PersistenceProviderBehavior(PersistenceProviderFactory providerFactory)
: this(providerFactory, DefaultPersistenceOperationTimeout)
{
// empty
}
public PersistenceProviderBehavior(PersistenceProviderFactory providerFactory, TimeSpan persistenceOperationTimeout)
{
this.PersistenceProviderFactory = providerFactory;
this.PersistenceOperationTimeout = persistenceOperationTimeout;
}
public TimeSpan PersistenceOperationTimeout
{
get
{
return this.persistenceOperationTimeout;
}
set
{
if (value < TimeSpan.Zero)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(
new ArgumentOutOfRangeException(SR2.GetString(SR2.PersistenceOperationTimeoutOutOfRange)));
}
this.persistenceOperationTimeout = value;
}
}
public PersistenceProviderFactory PersistenceProviderFactory
{
get
{
return this.persistenceProviderFactory;
}
set
{
if (value == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
}
this.persistenceProviderFactory = value;
}
}
public virtual void AddBindingParameters(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase, System.Collections.ObjectModel.Collection endpoints, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
{
// empty
}
public virtual void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
// empty
}
void IWmiInstanceProvider.FillInstance(IWmiInstance wmiInstance)
{
wmiInstance.SetProperty("PersistenceOperationTimeout", this.PersistenceOperationTimeout.ToString());
wmiInstance.SetProperty("PersistenceProviderFactoryType", this.PersistenceProviderFactory.GetType().FullName);
}
string IWmiInstanceProvider.GetInstanceType()
{
return "PersistenceProviderBehavior";
}
public virtual void Validate(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
{
// empty
}
}
}
// 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
- SystemWebExtensionsSectionGroup.cs
- TextTrailingCharacterEllipsis.cs
- StringComparer.cs
- DoubleCollectionConverter.cs
- ToolStripStatusLabel.cs
- ContentType.cs
- SqlProcedureAttribute.cs
- MetadataFile.cs
- PersistenceException.cs
- MatrixTransform3D.cs
- TabletDevice.cs
- StringComparer.cs
- ObjectCacheSettings.cs
- AdRotator.cs
- MetadataCacheItem.cs
- SQLBinaryStorage.cs
- SynthesizerStateChangedEventArgs.cs
- DynamicILGenerator.cs
- XmlILAnnotation.cs
- RichTextBox.cs
- TableRowCollection.cs
- Automation.cs
- QilTypeChecker.cs
- PasswordDeriveBytes.cs
- BuildProviderCollection.cs
- ScrollItemPatternIdentifiers.cs
- TextLineBreak.cs
- ListViewInsertedEventArgs.cs
- Events.cs
- CultureMapper.cs
- TextWriterTraceListener.cs
- ExecutionContext.cs
- StringValidator.cs
- QueryAsyncResult.cs
- ContentType.cs
- PackagePartCollection.cs
- DbRetry.cs
- DocumentPageTextView.cs
- xmlglyphRunInfo.cs
- RawStylusActions.cs
- GradientBrush.cs
- DictionaryGlobals.cs
- TextTreeInsertElementUndoUnit.cs
- Stack.cs
- TextReader.cs
- PropertyIDSet.cs
- QilList.cs
- MailWriter.cs
- DrawingDrawingContext.cs
- TaskFileService.cs
- XmlSerializationWriter.cs
- DataGridViewBand.cs
- EventItfInfo.cs
- StylusTip.cs
- DesignerAdRotatorAdapter.cs
- ScrollChrome.cs
- SafeIUnknown.cs
- AdPostCacheSubstitution.cs
- Exceptions.cs
- VisualState.cs
- EventQueueState.cs
- AsymmetricAlgorithm.cs
- NetworkInformationException.cs
- RelationshipConverter.cs
- RawStylusInputCustomDataList.cs
- EditorBrowsableAttribute.cs
- DataBindingHandlerAttribute.cs
- ValidatorCollection.cs
- GridItem.cs
- SequenceDesigner.cs
- ColorAnimation.cs
- DynamicEndpointElement.cs
- EllipseGeometry.cs
- EntityCommandExecutionException.cs
- XsdDateTime.cs
- StateRuntime.cs
- PathSegment.cs
- ImageSource.cs
- MaskedTextBox.cs
- StickyNoteAnnotations.cs
- ScriptControlDescriptor.cs
- _PooledStream.cs
- CharAnimationBase.cs
- CodeAssignStatement.cs
- HtmlInputButton.cs
- InvokeGenerator.cs
- PopOutPanel.cs
- CompositionAdorner.cs
- SqlBuffer.cs
- ButtonBaseAdapter.cs
- AssemblyHelper.cs
- _DigestClient.cs
- Helpers.cs
- QueryConverter.cs
- ClientProtocol.cs
- AmbientProperties.cs
- unitconverter.cs
- ConfigXmlSignificantWhitespace.cs
- DataGridViewRowsAddedEventArgs.cs
- UrlMappingCollection.cs