Существует несколько подходов, на которые вы можете обратить внимание:
WCF поддерживает множество точек расширения, и генерация WSDL является одним из них.Вы можете написать свой собственный генератор WSDL и подключить его к WCF
, возможно, более простым способом было бы сгенерировать WSDL, который у вас есть, затем настроить его вручную и поместить этот файл WSDL куда-нибудь инастроить его на обслуживание (вместо WCF, генерирующего WSDL во время выполнения, когда будет запрошено это сделать)
Вы можете настроить параметр №2 с поведением <serviceMetadata>
:
<behaviors>
<serviceBehaviors>
<behavior name="StaticMetadata">
<serviceMetadata httpGetEnabled="true"
externalMetadataLocation="(url path to your static WSDL file)" />
</behavior>
</serviceBehaviors>
</behaviors>
Если вы сделаете это, и ваша служба использует такое поведение службы, любые запросы на данные WSDL или MEX будут перенаправляться на тот статический WSDL, который вы предоставили, вместо использования автоматически сгенерированного WSDL, который WCFбудет нормально поставлять.