Что создать с помощью .NET 3.5? Веб-служба или служба Windows - PullRequest
2 голосов
/ 07 апреля 2009

Мне нужно создать веб-сервис, который может обслуживать около 100 000 клиентов. Я давно создаю Windows Services и использую в них привязку WCF. Службы Windows используют HTTP-привязку и предоставляют конечную точку http, которая может использоваться любым клиентом, который может общаться с помощью SOAP. Я немного сбит с толку, нужно ли мне создавать веб-службу ASP.NET или службу Windows, потому что они оба обеспечивают конечную точку HTTP. Я думаю, что до появления WCF Web-сервисы пользовались HTTP-привязками, а Windows-службы использовались для удаленного взаимодействия и т. Д.

Если оба предоставляют одинаковую конечную точку HTTP, тогда какими должны быть критерии для выбора типа службы?

Ответы [ 5 ]

2 голосов
/ 07 апреля 2009

Вы должны объединить все ответы.

Службы WCF можно размещать как в качестве службы Windows, так и в IIS. IIS предоставляет вам гораздо больше инструментов для масштабирования и обработки большого количества запросов. Поскольку вы ориентируетесь на Интернет и имеете доступ к IIS, перейдите и используйте IIS.

Ответ JP содержит ссылку о том, как разместить WCF в IIS, что должно прояснить вопрос, который у вас возник в ответе sipwiz.

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

2 голосов
/ 07 апреля 2009

Конечная точка, в которой живут ваши службы, и WCF по сравнению со службами ASP.NET - это две разные вещи. Вот достойная статья о различиях между службами WCF и ASP.NET. Место вашей конечной точки будет очень важным для вас, поскольку вы ищете высокую масштабируемость. Вы должны использовать все замечательные возможности, встроенные в IIS7, с точки зрения масштабируемости и надежности для размещения вашей конечной точки. Я не вижу веской причины для размещения его в вашем собственном процессе. Будет много работы по разработке чего-то, что может масштабироваться по горизонтали так же легко, как IIS7. Вот небольшая статья о том, как разместить службу WCF в IIS.

2 голосов
/ 07 апреля 2009

Если вы создаете большое приложение, которое должно обслуживать 100 тыс. Клиентов, вам следует выбрать IIS. IIS имеет множество встроенных средств для обработки высоких нагрузок, а также такие корпоративные функции, как аутентификация и сертификаты SSL. Если вы пользуетесь службой Windows, вам придется самим это делать.

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

0 голосов
/ 07 апреля 2009

Вы должны окончательно подумать о масштабируемости здесь. Например: что произойдет, если ваша система должна быть расширена с помощью веб-фермы? Как сценарий службы Win вписывается в эту ситуацию?

0 голосов
/ 07 апреля 2009

Учитывая масштаб того, что вы делаете, вы можете придерживаться WCF. Простота настройки различных протоколов и других функций инфраструктуры, таких как встроенное ведение журнала, должна вам хорошо помочь.

Одним из преимуществ использования службы asmx является то, что ее легко интегрировать в проект веб-сайта. Если у вас небольшой сайт с общим хостингом, возможно, вы не сможете запустить службу WCF, но вы сможете запустить службу asmx.

...