Я тоже должен был это сделать.И я использовал библиотеку WSDLExtras.Это не слишком большая сделка.
Вот пошаговая инструкция по его использованию:
Загрузите WCFExtras из здесь , извлеките его и добавьте ссылку на него вVS.
Добавьте ссылку на ваш Web.config / App.config следующим образом:
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="wsdlExtensions" type="WCFExtras.Wsdl.WsdlExtensionsConfig, WCFExtras, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
</system.serviceModel>
Добавьте расширение к поведению вашей конечной точки иустановите для атрибута singleFile
значение true
<endpointBehaviors>
<behavior name="singleFileEndpointBehavior">
<wsdlExtensions singleFile="True" />
</behavior>
</endpointBehaviors>
Использование поведения конечной точки для конечной точки обслуживания.
<endpoint address="YourEndPoint/Address" binding="YourBinding" behaviorConfiguration="singleFileEndpointBehavior" contract="IYourContract">
Этоработал нормально для меня.Вы также можете загрузить полный пример со страницы проекта WCFExtras: ProjectPage
Редактировать: Ради полноты: вы можете использовать ''? SingleWsdl ''параметр запроса начиная с .NET 4.5, как указано в ответе Irwins.Смотрите ссылку, которую он разместил для более подробной информации.