. Net Core 3.1: Кодировка текста iso-8859-1, используемая в формате текстового сообщения, не поддерживается. (Параметр 'кодировка') - PullRequest
2 голосов
/ 05 мая 2020

Я пытаюсь подключиться к внешней веб-службе с кодировкой ISO-8859-1 (веб-служба имеет реализацию PHP) с использованием VS 2019,. net core 3. Я добавляю подключенную службу. При создании новой привязки basi c http с кодировкой я получаю исключение с сообщением «Кодировка текста 'iso-8859-1', используемая в формате текстового сообщения, не поддерживается. (Параметр 'encoding')».

***var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport)
        {
            MaxReceivedMessageSize = int.MaxValue,
            MaxBufferPoolSize = int.MaxValue,
            MaxBufferSize = int.MaxValue,
            ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max,
            AllowCookies = true,
            TextEncoding = Encoding.GetEncoding("ISO-8859-1"),
        };***

В чем моя ошибка?

1 Ответ

0 голосов
/ 11 мая 2020

TextMessageEncodingBindingElement WCF поддерживает только кодировки Юникода UTF-8, UTF-16 и обратный порядок байтов. Если вы хотите использовать кодировку iso-8859-1, вы можете рассмотреть возможность использования настраиваемого кодировщика сообщений. Это справочная ссылка:

https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/custom-message-encoder-custom-text-encoder?redirectedfrom=MSDN

...