Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Конструкторы BrotliStream, которые принимают CompressionLevel аргумент, больше не допускают значения, не определенные в CompressionLevel перечислении. Если передать недопустимое значение, выбрасывается исключение ArgumentException.
Предыдущее поведение
BrotliStream позволяет передать произвольный уровень сжатия конструктору путем приведения требуемого уровня непосредственно к CompressionLevel. Рассмотрим пример.
BrotliStream brotli = new BrotliStream(baseStream,
(CompressionLevel)5); // Use level 5
Тем не менее, если был предоставлен произвольный уровень, который был передан через as-is базовой библиотеке, что приводит к несогласованности и потенциально неожиданному поведению.
Новое поведение
BrotliStream допускает только значения, определенные в CompressionLevel. Если вы передаете неопределенное значение в конструктор, возникает ArgumentException исключение.
Представленная версия
.NET 7
Тип разрушающего изменения
Это изменение может повлиять на совместимость двоичных файлов.
Причина изменения
Цель CompressionLevel перечисления заключается в том, чтобы разработчики использовали алгоритмы сжатия без необходимости понимать смысл их параметров настройки.
Если был предоставлен произвольный уровень, который был передан через as-is базовой библиотеке, что приводит к несогласованности и потенциально неожиданному поведению. При этом изменении поведение соответствует другим потокам сжатия, например DeflateStream.
При новой настройке значений CompressionLevel и добавлении CompressionLevel.SmallestSizeтеперь можно иметь различные компромиссы в алгоритмах сжатия. Пользователи могут продолжать полагаться на значения CompressionLevel, так как они являются абстракциями таких компромиссов.
Рекомендуемое действие
Если вы полагаетесь на передачу неопределенных значений в параметре CompressionLevel, пересмотрите ваш случай использования и определите, какое документированное значение является наиболее оптимальным для него.