Почему общедоступный WSDL нежелателен по соображениям безопасности?
Я могу согласиться с тем, что публикация API (в основном то, что вы делаете с WSDL) делает вас бит более уязвимым, чем если бы вы этого не делали, но было бы неправильно предполагать, что сокрытие WSDL представляет собой любой вид безопасности. По иронии судьбы это называется безопасность от неизвестности , и она будет взломана любым решительным атакующим.
Веб-сервис должен быть безопасным сам по себе. WCF предлагает множество функций безопасности, но это перпендикулярно вашему вопросу.
Я бы предпочел опубликовать WSDL. Если вы не хотите этого делать или если существует политика, запрещающая это, отправьте WSDL группе клиентов, чтобы они могли использовать ее по своему усмотрению.
Предварительная компиляция прокси-сервера только приведет в исполнение ваши соглашения о кодировании в клиентской команде, и они могут этого не оценить - например, я часто предпочитаю, чтобы мои прокси-серверы создавались с ключом / i, который делает сгенерированные классы внутренними. Мне также нравится иметь возможность указывать пространства имен .NET, чтобы они соответствовали остальной части моего кода. Это было бы невозможно, если бы я получил предварительно скомпилированную сборку (я мог бы использовать ее в любом случае, но это только раздражало бы меня).