Я работаю над сложной настройкой архитектуры клиент-серверного .NET, и у меня абсолютно нет контроля над отправленным или полученным запросом / ответом, за исключением того, что я могу добавить свои вещи в объекты запроса / ответа.
Iнабор данных на стороне сервера для отправки клиенту, и я использую GZipStream для сжатия набора данных.Сжатие работает нормально, но когда ответ получен на стороне клиента, я получаю исключение недопустимого символа - 0x1F.Я погуглил и не смог найти подходящий ресурс для решения этой проблемы.
Код сжатия:
Private Function Compress(ByVal data() As Byte) As Byte()
Try
'---the ms is used for storing the compressed data---
Dim ms As New MemoryStream()
Dim zipStream As Stream = Nothing
zipStream = New GZipStream(ms, _
CompressionMode.Compress, True)
'---or---
'zipStream = New DeflateStream(ms, _
' CompressionMode.Compress, True)
'---compressing using the info stored in data---
zipStream.Write(data, 0, data.Length)
zipStream.Close()
ms.Position = 0
'---used to store the compressed data (byte array)---
Dim compressed_data(CInt(ms.Length - 1)) As Byte
'---read the content of the memory stream into
' the byte array---
ms.Read(compressed_data, 0, CInt(ms.Length))
Return compressed_data
Catch ex As Exception
Return Nothing
End Try
End Function
Любая идея исправить эту проблему, учитывая тот факт, что я могу изменить механизм обработки запросов / ответов, очень ценится.Кроме того, я также запрашиваю любые идеи о лучших способах обработки больших наборов данных через веб-сервис.Спасибо.