2013-07-29 5 views
0

Для проекта, в котором я сейчас работаю, требуется конечная точка WCF, которая получит некоторые структурированные данные и вместе с ними один или несколько двоичных файлов.Загрузка файлов - Когда следует использовать WCF и другие решения

Клиент услуги предпочитает, чтобы не было ограничений по размеру этих загрузок, но все имеет ограничение.

Мой вопрос: в какой момент служба WCF для загрузки файла становится неподходящим решением?

Чтобы поместить это в какой-то контекст, это не решение, которое запускает конечный пользователь, так что такие вещи, как индикаторы выполнения и т. Д., Не являются обязательным требованием.

Thanks, Andrew.

ответ

1

Интересный вопрос, Андрей.

Я занимаюсь разработкой WCF на программном пакете CRM, используемом некоторыми из крупнейших компаний на планете. Я не думаю, что существует какой-то реалистичный функциональный предел тому, что WCF может обрабатывать с точки зрения загрузки и загрузки двоичных файлов, но есть, конечно, практические ограничения, которые мы натолкнули на линии пропускной способности клиента, тайм-аутов клиента и сервера (по умолчанию это две минуты для клиентов), мощность сервера/хранилище и другие проблемы, которые могут быть/могут быть смягчены с помощью некоторой творческой архитектуры и программирования.

Например, у некоторых наших клиентов есть конечные пользователи с ноутбуками в странах второго мира, где пропускная способность плохая, что может вызвать тайм-ауты загрузки/выгрузки. То, как мы смягчили это путем использования «chunked» загрузок и загрузок, что означает, что если вы загружаете или загружаете файл размером 500 Мбайт, двоичный файл разбивается на более мелкие куски (1 МБ или 10 МБ), которые клиент и хост могут обрабатывать с плохим соединение без тайм-аута, итерация до завершения загрузки или загрузки. И эти куски можно регулировать «на лету» в зависимости от «плохой» связи. Но, используя этот метод, мы без проблем загружаем все базы данных 1GB + на устройства нашего клиента.

У нас есть клиенты, использующие доисторические КПК, iPads, устройства Android и т. Д., И все их особые требования могут быть смягчены (снова) с помощью некоторого умного программирования.

Лучше, чем недавно, недавно я увидел демонстрацию приложения каталога женской одежды, которое использовало WCF для доставки контента ... скорость была невероятной. Вы могли бы «вращать» страницы с переворачиванием пальца так быстро, как вы хотели, и приложение без проблем заполнило бы страницы с ускорением страницы с изображениями и описаниями продуктов. Парень сказал, что это второе по скорости приложение для каталога в мире - второе место только на ebay.