Загрузка и загрузка больших файлов - Windows Mobile (Compact Framework) через веб-службы (WCF, MTOM, WCE?) - PullRequest
2 голосов
/ 06 февраля 2009

Я немного искал и, похоже, не могу найти хорошее стабильное решение, поэтому любая помощь будет оценена.

Вот сценарий: Устройство Windows Mobile, на котором выполняется клиентское приложение в .NET CF 3.5 (используются библиотеки OpenNETCF) Веб-приложение на .NET 3.5 (веб-сервер под управлением IIS) Разработка в VS2008, .NET 3.5 - все новейшие

Мне нужно использовать веб-сервисы или WCF или MTOM для передачи больших файлов на мобильное устройство и с него. (Желательно кусками). Я нашел несколько хороших статей, но, похоже, не могу заставить их работать правильно, обычные веб-службы с данными XML выдают исключение из памяти, WCE недоступен в VS2008, WCF на CF не дает мне возможность добавить Сервисная ссылка ", только" Веб-ссылка ", я нахожусь в тупике.

Некоторые говорят, что не используйте WSE, он устарел, использует только WCF, но я не могу запустить его в мобильном приложении.

Все, что мне нужно, это простой механизм переноса вверх / вниз с мобильного устройства на веб-сервер, позже я смогу взглянуть на сжатие и надежность.

Может ли кто-нибудь указать мне правильное направление с некоторыми статьями и примером кода?

Заранее спасибо.

1 Ответ

2 голосов
/ 06 февраля 2009

В прошлом я обнаружил, что веб-сервисы, WCF, MTOM и WSE предоставляют ужасные решения для передачи больших файлов. Особенно для загрузки.

В итоге я создал TCP-соединение клиент / сервер и отправил двоичные данные файла через поток. Я предшествовал данным файла с заголовком и строкой xml, которая детализировала данные файла. В моем случае мне требовался уровень безопасности, поэтому я использовал System.Net.Security.NegotiateStream. В вашем случае может быть достаточно TcpClient и TcpListener пространства имен System.Net.Sockets. Они оба поддерживаются CF 3.5.

Надеюсь, это поможет.

...