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