В программе приходится передавать и соответственно получать архивы больших размеров через веб-сервисы. Имеется примерно следующее:
public class ArhivService : System.Web.Services.WebService
{
[WebMethod]
public byte[] SendZip(byte[] zip) //На вход архив в ввиде масива байтов и возвращаемое значение масив байтов также
{
..........
}
}
Проблема: передавая таким методом большие архивы на клиентской и серверной машинах зажирается вся доступная физическая память, что не особо радует. Каким образом организовать передачу правильно, то есть чтобы не использовать всю доступную память? Может есть какие-то специальные механизмы?
Здравствуйте, SpeedLover, Вы писали:
SL>В программе приходится передавать и соответственно получать архивы больших размеров через веб-сервисы. Имеется примерно следующее:
skipped... SL>Проблема: передавая таким методом большие архивы на клиентской и серверной машинах зажирается вся доступная физическая память, что не особо радует. Каким образом организовать передачу правильно, то есть чтобы не использовать всю доступную память? Может есть какие-то специальные механизмы?
Есть — FTP.
Здравствуйте, stump, Вы писали:
S>Здравствуйте, SpeedLover, Вы писали:
SL>>В программе приходится передавать и соответственно получать архивы больших размеров через веб-сервисы. Имеется примерно следующее: S>skipped... SL>>Проблема: передавая таким методом большие архивы на клиентской и серверной машинах зажирается вся доступная физическая память, что не особо радует. Каким образом организовать передачу правильно, то есть чтобы не использовать всю доступную память? Может есть какие-то специальные механизмы? S>Есть — FTP.
Знаю . Но мне нужно использовать веб-сервисы, как бы банально это не звучало.
Здравствуйте, SpeedLover, Вы писали:
S>>Есть — FTP.
SL>Знаю . Но мне нужно использовать веб-сервисы, как бы банально это не звучало.
Режь файлы на блоки и передавай блоками. В параметрах web метода добавь номер блока, или как вариант, смещение и размер блока который хочешь получить. А на клиенте склеивай из них целый файл.
Здравствуйте, stump, Вы писали:
S>Режь файлы на блоки и передавай блоками. В параметрах web метода добавь номер блока, или как вариант, смещение и размер блока который хочешь получить. А на клиенте склеивай из них целый файл.