70 lines
2.1 KiB
C#
70 lines
2.1 KiB
C#
|
//----------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//----------------------------------------------------------------
|
||
|
namespace System.ServiceModel.Discovery
|
||
|
{
|
||
|
using System.Runtime;
|
||
|
using System.ServiceModel.Description;
|
||
|
using System.ServiceModel.Dispatcher;
|
||
|
|
||
|
[Fx.Tag.XamlVisible(false)]
|
||
|
public class DiscoveryOperationContextExtension : IExtension<OperationContext>
|
||
|
{
|
||
|
TimeSpan maxResponseDelay;
|
||
|
ServiceDiscoveryMode discoveryMode;
|
||
|
DiscoveryVersion discoveryVersion;
|
||
|
|
||
|
internal DiscoveryOperationContextExtension()
|
||
|
: this(TimeSpan.Zero, ServiceDiscoveryMode.Adhoc, DiscoveryVersion.DefaultDiscoveryVersion)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
internal DiscoveryOperationContextExtension(TimeSpan maxResponseDelay, ServiceDiscoveryMode discoveryMode, DiscoveryVersion discoveryVersion)
|
||
|
{
|
||
|
TimeoutHelper.ThrowIfNegativeArgument(maxResponseDelay, "maxResponseDelay");
|
||
|
Fx.Assert(discoveryVersion != null, "discoveryVersion can't be null");
|
||
|
|
||
|
this.maxResponseDelay = maxResponseDelay;
|
||
|
this.discoveryMode = discoveryMode;
|
||
|
this.discoveryVersion = discoveryVersion;
|
||
|
}
|
||
|
|
||
|
public TimeSpan MaxResponseDelay
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.maxResponseDelay;
|
||
|
}
|
||
|
internal set
|
||
|
{
|
||
|
TimeoutHelper.ThrowIfNegativeArgument(value, "values");
|
||
|
this.maxResponseDelay = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public ServiceDiscoveryMode DiscoveryMode
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.discoveryMode;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public DiscoveryVersion DiscoveryVersion
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.discoveryVersion;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void IExtension<OperationContext>.Attach(OperationContext owner)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void IExtension<OperationContext>.Detach(OperationContext owner)
|
||
|
{
|
||
|
}
|
||
|
}
|
||
|
}
|