linux-packaging-mono/external/referencesource/System.ServiceModel/System/ServiceModel/Security/LaxTimestampFirstModeSecurityHeaderElementInferenceEngine.cs
Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

31 lines
1.3 KiB
C#

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