На самом деле есть способ сделать это: вы можете создать свой собственный WSDL (т.е. удалить методы, которые вы не хотите публиковать), а затем сделать его доступным в выделенном месте, что позволяет пользователям связываться с ним как обычно.
Чтобы пользователи не могли просто получить WSDL по умолчанию (foo.asmx?wsdl
), необходимо переключить переключатель в файле web.config вашего веб-сервиса:
<webServices>
<protocols>
<remove name="Documentation"/>
</protocols>
</webServices>
Из соответствующий раздел MSDN :
Примечание. При удалении протокола документации также отключается генерация файлов WSDL для любых веб-служб XML в веб-приложении.Это не позволяет клиентам создавать прокси-класс, если для них не создан и не создан специальный файл WSDL.