Есть необходиость отделить клиентов от прямого подключения к Субд , предполагается использовать wcf сервис.
Но как быть с большим объемом передаваемых данных, в некоторых случаях объем может достигать 500Мб. Справится ли сервис с такой нагрузкой, на чем лучше хостить iis или servicehost
Здравствуйте, Аноним, Вы писали:
А>Есть необходиость отделить клиентов от прямого подключения к Субд , предполагается использовать wcf сервис. А>Но как быть с большим объемом передаваемых данных, в некоторых случаях объем может достигать 500Мб. Справится ли сервис с такой нагрузкой, на чем лучше хостить iis или servicehost
Вот этим в частности и был хорош COM — можно было сделать автоматический маршалинг для прямой передачи данных внутри одного процесса, через разделяемую память внутри одной машины, и по сети между машинами.
А WCF всегда копирует. Как Ксерокс: "мы научили мир копировать"...
Здравствуйте, alexanderfedin, Вы писали:
A>Здравствуйте, Аноним, Вы писали:
А>>Есть необходиость отделить клиентов от прямого подключения к Субд , предполагается использовать wcf сервис. А>>Но как быть с большим объемом передаваемых данных, в некоторых случаях объем может достигать 500Мб. Справится ли сервис с такой нагрузкой, на чем лучше хостить iis или servicehost A>Вот этим в частности и был хорош COM — можно было сделать автоматический маршалинг для прямой передачи данных внутри одного процесса, через разделяемую память внутри одной машины, и по сети между машинами. A>А WCF всегда копирует. Как Ксерокс: "мы научили мир копировать"...
Ну почему же всегда? Ничто не мешает написать свой транспорт. Например: http://www.codeproject.com/Articles/20709/NullTransport-for-WCF, передача данных в пределах одного процесса без какого-либо кодирования. Не проверял как работает с разными аппдоменами.
По теме: возможно стоит рассмотреть варианты потоковой или постраничной передачи данных. wcf с этим справится, но все эти данные будут в памяти.
P>Ну почему же всегда? Ничто не мешает написать свой транспорт. Например: http://www.codeproject.com/Articles/20709/NullTransport-for-WCF, передача данных в пределах одного процесса без какого-либо кодирования. Не проверял как работает с разными аппдоменами.
хотя простой маршалинг, все равно, будет эффективней
Здравствуйте, alexanderfedin, Вы писали:
A>Вот этим в частности и был хорош COM — можно было сделать автоматический маршалинг для прямой передачи данных внутри одного процесса, через разделяемую память внутри одной машины, и по сети между машинами.
По сети между машинами никакой "прямой передачи" не будет.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, alexanderfedin, Вы писали:
A>>Вот этим в частности и был хорош COM — можно было сделать автоматический маршалинг для прямой передачи данных внутри одного процесса, через разделяемую память внутри одной машины, и по сети между машинами.
TK>По сети между машинами никакой "прямой передачи" не будет.
Вероятно, Вы не в курсе, что маршалинг COM предоставляет возможность создать разные прокси в случае In-process, Cross-process, и Cross-machine.
Соответственно, в случае:
In-process — мы отдаём оригинальный объект
Cross-process — мы отдаём объект, который коммуницирует через разделяемую память
Cross-machine — мы отдаём объект, который коммуницирует через какой-либо сетевой транспорт
Respectfully,
Alexander Fedin.
Re[4]: wcf пропускная способность
От:
Аноним
Дата:
16.05.13 17:40
Оценка:
Здравствуйте, alexanderfedin, Вы писали:
A>Здравствуйте, TK, Вы писали:
TK>>Здравствуйте, alexanderfedin, Вы писали:
A>>>Вот этим в частности и был хорош COM — можно было сделать автоматический маршалинг для прямой передачи данных внутри одного процесса, через разделяемую память внутри одной машины, и по сети между машинами.
TK>>По сети между машинами никакой "прямой передачи" не будет. A>Вероятно, Вы не в курсе, что маршалинг COM предоставляет возможность создать разные прокси в случае In-process, Cross-process, и Cross-machine. A>Соответственно, в случае:
A>
A> In-process — мы отдаём оригинальный объект A> Cross-process — мы отдаём объект, который коммуницирует через разделяемую память A> Cross-machine — мы отдаём объект, который коммуницирует через какой-либо сетевой транспорт A>
А чего все смеются ?