WCF, работающий с большими файлами, с возможностью взаимодействия WS-I

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

Как вы работаете с большими файлами в WCF и сохраняете совместимость?

1 ответ

Решение

Честно говоря, причина того, что потоковое вещание является таким популярным решением, заключается в том, что он работает хорошо. Обычный способ, которым.net обрабатывает запросы в стиле WS-I, ужасно неэффективен для больших файлов. Он не предназначен для передачи больших файлов, и если вы действительно попытаетесь это сделать, то вам будет сложно масштабировать до какого-либо значительного объема трафика.

Лучший ответ - избегать этого. Если вам нужно, добавьте сервисный запрос, который может "настроить" передачу файлов через ваш сервис, а затем получите нормальный HTTP-запрос, использующий куки-файл для фактического получения файла.

Если вам действительно нужно отправить файл через службу WS-I, все, что вы можете сделать, это включить MTOM и надеяться, что вы не получите сразу достаточно запросов, чтобы запустить сервер из ОЗУ для обработки этих действительно больших XML-сообщений.

Другие вопросы по тегам