Согласившись с Дэвидом, что просто "затенение" вашего сервиса - это менее половины решения, вы, конечно, можете отключить
- метаданные службы
- http доступность вашего WSDL-файла
Делайте, чтобы убедиться, что ваш тег <service>
не ссылается на <serviceBehavior>
, который включает тег <serviceMetadata>
.
Так что будет предоставлять метаданные службы (включая WSDL через HTTP):
<behaviors>
<serviceBehaviors>
<behavior name="default">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
<behaviors>
<services>
<service name="IYourService" behaviorConfiguration="default">
...
</service>
</services>
пока не предоставит метаданных службы (обратите внимание на удаление тега <serviceMetadata>
):
<behaviors>
<serviceBehaviors>
<behavior name="nometadata">
<serviceDebug includeExceptionDetailInFaults="True" />
</behavior>
</serviceBehaviors>
<behaviors>
<services>
<service name="IYourService" behaviorConfiguration="nometadata">
...
</service>
</services>
При удалении метаданных службы вы больше не сможете делать Add Service Reference
из Visual Studio (или ее эквивалент для любой из других систем разработки) - служба просто не скажет вам, что доступно - ты должен знать другой способ.