|
|
|
Обработка base64 большого размера
|
|||
|---|---|---|---|
|
#18+
Доброго дня/ночи. Потихоньку начали работать на с# с xml и столкнулись вот с такой проблемой: Есть входные сообщения, содержащие элемент в кодировке base64 размером порядка 10-200 Mb. Надо провалидировать эти сообщения на соответствие xsd схемам. Все идет хорошо до тех пор, пока валидатор (мы используем XmlValidatingReader) не доходит до этого самого base64 элемента. При его чтении отжирается объем памяти раз в 10..12 больше чем размер этого элемента. Если размер исходного сообщения > 60..70 Mb, происходит System.OutOfMemoryException и обработка прекращается. Вопрос: нет ли каких-либо способов все таки выполнить валидацию таких здоровенных base64 элементов? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2007, 22:05 |
|
||
|
Обработка base64 большого размера
|
|||
|---|---|---|---|
|
#18+
вырезать, а потом – валидировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 12:37 |
|
||
|
Обработка base64 большого размера
|
|||
|---|---|---|---|
|
#18+
as361Доброго дня/ночи. Потихоньку начали работать на с# с xml и столкнулись вот с такой проблемой: Есть входные сообщения, содержащие элемент в кодировке base64 размером порядка 10-200 Mb. Надо провалидировать эти сообщения на соответствие xsd схемам. Все идет хорошо до тех пор, пока валидатор (мы используем XmlValidatingReader) не доходит до этого самого base64 элемента. При его чтении отжирается объем памяти раз в 10..12 больше чем размер этого элемента. Если размер исходного сообщения > 60..70 Mb, происходит System.OutOfMemoryException и обработка прекращается. Вопрос: нет ли каких-либо способов все таки выполнить валидацию таких здоровенных base64 элементов? Спасибо. Используйте поточные средства обработки данных. (XmlTextReader например) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2007, 22:34 |
|
||
|
Обработка base64 большого размера
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Поподробнее, пожалуйста ... Открыть файл (как простой текстовый файл, не XmlReader'ом), дойти до элемента с base64, перекодировать и проверить? Т.е. предлагается самостоятельно реализовать некое подобие элементарного парсера? Код: plaintext 1. C XmlTextReader такая же беда: пока читаем небольшие текстовые элементы (XmlTextReader.Read()) - все ОК. Как только доходим до здоровенного base64 - вызов Read() отжирает немерянный объем памяти и опа - OutOfMemoryException. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2007, 23:21 |
|
||
|
|

start [/forum/topic.php?fid=14&gotonew=1&tid=1334383]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 465ms |

| 0 / 0 |
