e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
//------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------
|
|
|
|
namespace System.ServiceModel.Configuration
|
|
{
|
|
using System;
|
|
using System.Configuration;
|
|
using System.ServiceModel.Channels;
|
|
using System.Text;
|
|
|
|
class WebEncodingValidator : ConfigurationValidatorBase
|
|
{
|
|
public override bool CanValidate(Type type)
|
|
{
|
|
return type == typeof(Encoding);
|
|
}
|
|
|
|
public override void Validate(object value)
|
|
{
|
|
Encoding encoding = value as Encoding;
|
|
if ((encoding == null) ||
|
|
// utf-8 case. EncodingConverter generates TextEncoderDefaults.Encoding for utf-8, different from System.Text.Encoding.UTF8
|
|
((encoding.WebName != Encoding.UTF8.WebName) &&
|
|
(encoding.WebName != Encoding.Unicode.WebName) &&
|
|
(encoding.WebName != Encoding.BigEndianUnicode.WebName)))
|
|
{
|
|
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("value", SR2.GetString(SR2.JsonEncodingNotSupported));
|
|
}
|
|
}
|
|
}
|
|
}
|