2009-08-08 5 views

ответ

2

Трудно сказать - основная причина для самостоятельного хостинга, вероятно, имеет больший контроль, например. будучи в состоянии настроить систему по мере необходимости.

Хостинг IIS удобен и прост в настройке, и он предлагает «по требованию» загрузку услуги, например. хост службы загружается только в том случае, если запрос действительно приходит.

Эта постоянная загрузка (и разгрузка) хоста службы может немного повредить производительность - с другой стороны, самообслуживание хоста-службы, вы, вероятно, используйте больше памяти (так как ServiceHost активен и всегда в памяти).

Итак, снова - это компромисс между памятью и скоростью - selfhosting использует больше оперативной памяти, но, вероятно, немного быстрее.

Марк

1

После того, как служба работает, я бы ожидать существенной разницы.

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

Есть, конечно, другие отличия, например. Хостинг IIS с созданием по требованию будет, как ожидается, немного медленнее, чтобы обслуживать первый запрос от простоя, насколько это важно, только вы можете сказать.

+0

Конечно, если вы размещаете в IIS, и у вас есть рекомендуемая модель активации «за вызов», IIS (в худшем случае) будет продолжать создавать экземпляры ServiceHost снова и снова. Как только ServiceHost встает, я согласен - никакой разницы не ожидается. –

1

После выпуска «Дублин» (специально созданная среда хоста WCF), будет естественным использовать это.

EDIT: Первоначально этот ответ касался разницы потенциалов между IIS и самообслуживанием из-за различий в потоковом использовании. Тем не менее, я стою исправлено, см. Комментарий ниже.

+0

автономный WCF такой же многопоточный, как и его размещение в IIS - здесь я не вижу никакой пользы от IIS. –