|
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.ServiceModel.PeerResolvers
{
using System.Runtime;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Channels;
[MessageContract(IsWrapped = false)]
public class RefreshResponseInfo
{
[DataContract(Name = "RefreshResponseInfo", Namespace = PeerStrings.Namespace)]
class RefreshResponseInfoDC
{
[DataMember(Name = "RegistrationLifetime")]
public TimeSpan RegistrationLifetime;
[DataMember(Name = "Result")]
public RefreshResult Result;
public RefreshResponseInfoDC(TimeSpan registrationLifetime, RefreshResult result)
{
this.RegistrationLifetime = registrationLifetime;
this.Result = result;
}
}
public RefreshResponseInfo() : this(TimeSpan.Zero, RefreshResult.RegistrationNotFound) { }
public RefreshResponseInfo(TimeSpan registrationLifetime, RefreshResult result)
{
this.body = new RefreshResponseInfoDC(registrationLifetime, result);
}
public TimeSpan RegistrationLifetime
{
get { return body.RegistrationLifetime; }
set
{
if (value < TimeSpan.Zero)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRange0)));
}
if (TimeoutHelper.IsTooLarge(value))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRangeTooBig)));
}
this.body.RegistrationLifetime = value;
}
}
public RefreshResult Result
{
get { return body.Result; }
set { this.body.Result = value; }
}
[MessageBodyMember(Name = "RefreshResponse", Namespace = PeerStrings.Namespace)]
RefreshResponseInfoDC body;
public bool HasBody()
{
return body != null;
}
}
}
|