//------------------------------------------------------------ // 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)); } } } }