|
//----------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.ServiceModel.Security
{
sealed class LaxTimestampLastModeSecurityHeaderElementInferenceEngine : LaxModeSecurityHeaderElementInferenceEngine
{
static LaxTimestampLastModeSecurityHeaderElementInferenceEngine instance = new LaxTimestampLastModeSecurityHeaderElementInferenceEngine();
LaxTimestampLastModeSecurityHeaderElementInferenceEngine() { }
internal new static LaxTimestampLastModeSecurityHeaderElementInferenceEngine Instance
{
get { return instance; }
}
public override void MarkElements(ReceiveSecurityHeaderElementManager elementManager, bool messageSecurityMode)
{
for (int position = 0; position < elementManager.Count - 1; position++)
{
if (elementManager.GetElementCategory(position) == ReceiveSecurityHeaderElementCategory.Timestamp)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.TimestampMustOccurLastInSecurityHeaderLayout)));
}
}
base.MarkElements(elementManager, messageSecurityMode);
}
}
}
|