Мне предоставлена база кода, где служба WCF размещена в IIS. В проекте используется сервер разработки, но это не имеет значения. Файл web.config содержит только следующую секцию для конфигурации службы:Как подключается служба WCF к конечным точкам по умолчанию?
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
.svc файл содержит следующее:
<%@ ServiceHost Language="C#" Debug="true" Service="TestApp.MySvcClass" CodeBehind="MySvcClass.svc.cs" %>
MySvcClass реализует контракт (ISvcContract). Дело в том, что в .NET 4 эта конфигурация работает. В любом месте нет декларации, которая устанавливает связь между контрактом и типами услуг, нет ничего, что связывает поведение с типом обслуживания, нет декларации конечной точки, и все же она работает. С .net 3.5 это не так. Он жалуется на конфигурацию.
Каково поведение по умолчанию для конфигурации проектов WCF? Где это задокументировано? Могу ли я заставить эти типы настроек сбой?
У меня не было времени на тестирование, но если я добавлю еще один файл svc, проект, вероятно, сойдет с ума, так как вещи могут волшебным образом встать на место для одной службы, но я бы предпочел не иметь конфигурацию, обработанную в умный способ.