Хорошее объяснение можно найти на форуме .NET Development :
Это неправда, что вы должны
включить анонимно для размещения WCF
в IIS. Есть некоторые ограничения
когда вы настраиваете привязки, хотя.
Основной принцип таков:
настройки для привязки WCF должны быть
совместим с настройками IIS. это
означает, что если вы хотите включить
аутентификация транспортного уровня в
привязка, вы должны сделать это
виртуальное приложение в IIS. За
пример, когда вы используете
BasicHttpBinding, вы можете включить
аутентификация транспортного уровня, установив
Режим безопасности до
"TransportCredentialOnly". Вы можете
отключить анонимную авторизацию IIS в этом
случай.
Однако существует один особый случай: если
вы используете WSHttpBinding через HTTP
вместо HTTPS вам придется
включить анонимность в IIS. Это
потому что ни один из режимов безопасности для
WSHttpBinding позволяет настроить
проверка подлинности на транспортном уровне
HTTP, который был реализован в
BasicHttpBinding. Конечно вы можете
решить эту проблему, используя либо
BasicHttpBinding или CustomBinding.
Это не ограничение. Вместо этого
пытается уменьшить путаницу, так как вы
будет использовать либо SSL (в качестве транспорта
уровень безопасности) или безопасность сообщений
с WSHttpBinding.