|
Скорость получения ASP.NET клиентом byte[] из web-сервиса
|
|||
---|---|---|---|
#18+
Есть сервис, возвращающий комплексный тип, например такого плана Код: xml 1. 2. 3. 4. 5. 6.
где xmlns:xs=" http://www.w3.org/2001/XMLSchema" самое важное в этом - тип BinaryData типа base64Binary, собственно само содержимое файла. выдает сервис, ну скажем "1С". клиент на ASP.NET. делаем обычный Service Reference. он нормально понимает это значение BinaryData как byte[]. Дальше маразм... Он, то ли работает с ним как с массивом, то ли еще чего, но скорость десериализации крайне низкая, ниже, чем если бы эти данные я передавал в виде строки, обернутой в Base64... Проверял. Со строкой, обратно потом конвертируемой в массив байт из base64, работает мгновенно. Обидно что затык такой... Что делать то, кто знает? Настройки ссылки на службу здесь не помогут, насколько вижу. Переписывать код Reference как то глупо... извините, повторю на всякий случай пост в двух форумах, мож увидят хоть где нибудь, те кто встречался... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2012, 18:59 |
|
Скорость получения ASP.NET клиентом byte[] из web-сервиса
|
|||
---|---|---|---|
#18+
дополню. xs:hexBinary возвращает при генерации Service Reference вообще пургу - строку из представления байт... тоже медленное получение плюс разбор вручную на байты... опять перепроверил - прогон через обычный string, конвертированный в base64, не то что в разы, в десяток раз быстрее... чего я готовить то не умею? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2012, 19:38 |
|
|
start [/forum/topic.php?fid=19&fpage=15&tid=1397210]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 389ms |
0 / 0 |