Я подозреваю, что проблема не в услугах, а в IFrame. Когда вы проходите проверку подлинности в MSCRM через локальную сеть, вы выполняете проверку подлинности Windows, а в случае IFrame этот запрос проверки подлинности выполняется снова. Поскольку браузер знает все, что ему нужно, все обрабатывается прозрачно.
При использовании IFD вы не используете аутентификацию на уровне веб-сервера - вы делаете это, используя формы, основанные на уровне приложения. Вы, IFrame, все еще хотите аутентификацию, и поэтому iframe запрашивает аутентификацию.
Если у вас возникла проблема со службой, отобразился бы IFrame, и при любом действии, вызвавшем вызов службы, произойдет сбой с ошибкой 400 или 500.
Таким образом, возникает вопрос: как создать веб-страницу, которая может обслуживать проверку подлинности Windows и на основе форм? Это легко сделать в MSCRM, сначала убедитесь, что вы не запускаете аутентификацию на веб-странице - установите для нее анонимность. Это гарантирует, что больше не будет всплывающих окон, затем убедитесь, что вы используете код CrmAuthenticationToken, чтобы получить токен и использовать его для всех вызовов. Вы не должны устанавливать свойство .Credentials самой службы.