Как разрешить SharpZipBaseException «Контрольная сумма заголовка незаконна»? - PullRequest
1 голос
/ 11 октября 2019

В настоящее время я работаю над функцией Azure, которая читает сообщения из очереди служебной шины. Я нахожусь в стадии тестирования, и моя очередь служебной шины получает около 50 сообщений в минуту. (в производственной среде это будет тысячи точек данных, поступающих в минуту). Когда я запускаю свою функцию, я получаю следующую ошибку (см. Комментарий об ошибке в коде)

[FunctionName("ReadServiceBusMessage")]
        public static void ProcessMessagesAsync([ServiceBusTrigger("modbusdata", Connection = "test_RootManageSharedAccessKey_SERVICEBUS")]Message message, ILogger log)
        {
            try
            {
                log.LogInformation("Reading the message from queue");
                log.LogInformation("======================================================");

                string itemRaw;

                var data = new MemoryStream(message.Body);

                using (var istr = new InflaterInputStream(data))
                using (var rdr = new StreamReader(istr))
                {
                    itemRaw = rdr.ReadToEnd();//ERROR:ICSharpCode.SharpZipLib.SharpZipBaseException: 'Header checksum illegal'
                }

                log.LogInformation("Message encoding is completed.");
                log.LogInformation("========================================");

Честно говоря, я не могу найти много полезной информации о том, что может происходить с этой ошибкой. Самое близкое к тому, что я нашел решение, - это то, что, возможно, я должен дефлятировать сообщение вместо того, чтобы надувать его или надувать в моем коде, не будет работать, потому что я не работаю с достаточным количеством данных в моделируемой среде. Заранее благодарим за любые рекомендации, которые могут быть предоставлены.

...