2015-07-23 5 views
0

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

Мое замешательство происходит из службы WCF, которую мы используем, которая не является типичной службой WCF. Когда я создаю службу WCF, добавляя новый проект в Visual Studio (используя шаблон приложения WCF), он создает проект с иконкой Service.svc, а значок проекта - значком веб-службы. Однако для другой службы WCF, которую мы имеем (для использования с вызовами от Ajax к приложению ASP.NET), у нас есть проект, который выглядит как обычный проект C# - его значок является типичным значком проекта C#, а содержание проекта состоит только из файл Service.cs (не нормальное расширение .svc), которое вызывает другие функции. Этот файл Service.cs реализует атрибуты ServiceContract/ServiceBehavior/OperationContract, но, возможно, это служба WCF, созданная вручную?

В главных проектах Web.config есть тег, который указывает на файл Service.cs, тогда как «реальная» служба WCF, созданная с помощью шаблона WCF, не включает этот тег.

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

Большое спасибо заранее!

+2

Вы можете сделать WCF без приложения ASP.NET, он называется [self hosting] (https://msdn.microsoft.com/en-us/library/Ee939340.aspx) –

+0

Как сказал @ScottChamberlain, It это самообслуживаемая служба WCF. Простой пример: http://stackoverflow.com/questions/12899360/getting-a-post-endpoint-to-work-in-self-hosted-webservicehost-c-sharp-webservi – EZI

ответ

0

WCF Стенды для Windows Связь фундамент. WCF - это сочетание веб-сервисов + MSMQ + .NET Remoting + COM +. , если вы сравниваете WCF с веб-службами, ограничение веб-сервиса - это веб-сервис, поддерживающий только HTTP-протокол.2], вы не можете размещать веб-службы на двух разных протоколах.3] webservice не обеспечивает безопасность, контроль параллелизма и т. Д.

сейчас идет на wcf .. вы можете создать wcf-сервис с шаблоном wcf, а другой - это проект библиотеки классов .. если вы используете библиотеку классов, вы можете разместить его несколькими способами, такими как Self Hosting, Host On IIS, то есть .svc-файл, но если вы используете Шаблон WCF, содержащий файл .SVC, как вы упомянули в вопросе, вы можете разместить только этот проект/услугу в IIS ....

0

Служба WCF может быть организована самостоятельно и создаваться без фактического использования шаблона проекта Visual Studio. Все, что вам нужно сделать, это правильно приписанный интерфейс, класс, который реализует этот интерфейс и код в вашем проекте, который создает экземпляр ServiceHost. Большинство пользователей установили конфигурацию службы в файл app.config, но некоторые также предпочитают настраивать службу в коде.

Шаблон проекта WCF просто включает в себя материал, поэтому вы можете легко разместить службу в ISS или службе активации Windows (WAS).

Смежные вопросы