Очень расстроен всем этим, надеясь, что кто-то может помочь.
У меня было приложение Silverlight и WCF, работающие вместе без проблем в течение года. Чтобы заставить их работать, у меня сначала была небольшая боль, но в конце концов я с ней справился. Вся боль пришла от конфигурации / безопасности, 401-х, междоменного ада и т. Д.
У меня все настроено так, что у меня есть служба WCF, которая находится в своем собственном приложении / каталоге и работает в своем собственном пуле приложений.
На том же веб-сервере (IIS7) у меня есть другое приложение / каталог с приложением Silverlight, которое указывает на вышеупомянутую службу.
Имя сервера (для этого упражнения) - WEBSERVER1. Для этого мы создали CNAME WEB1. В прошлом, если бы пользователь перешел на http://WEB1/MyApp/ или http://WEBSERVER1/MyApp/, он бы работал. Внезапно вчера он начал плохо себя вести. Обычные пользователи начали получать запрос / ответ Windows (и даже если они введут информацию, они получат ошибку 401).
Моя служба WCF работает на сайте, который обеспечивает анонимный доступ (и это всегда работало).
Мое приложение Silverlight запускается на сайте, в который встроены окна (и это всегда работало), поскольку я фиксирую имя пользователя Windows при их подключении.
Для справки: вчера я действительно создал НОВЫЙ пул приложений, в котором запущено приложение ASP.NET. Кажется, это работает нормально, но есть шанс создать этот новый пул приложений, и каталог application / привел к изменению.
У меня есть clientaccesspolicy.xml в моей папке wwwroot, а также в папке для каждого из двух приложений выше (на всякий случай). Я пытался продвигать NTLM вместо Negotiate в качестве поставщика (поскольку это помогло решить другую проблему, возникшую на другом сервере).
Попробовав некоторые изменения, я даже не могу заставить вещь вести себя одинаково при каждом вызове. Иногда мне будет предложено ввести учетные данные. В других случаях это будет работать, но затем скажем, что ему не удалось подключиться к службе WCF с "not found". В других случаях он будет работать нормально, но только если я использую реальное имя сервера, а не CNAME. При использовании CNAME я всегда получаю междоменную ошибку, даже если у меня есть междоменные xml-файлы в каждом корне каталога.
Это кошмар, и по сравнению с ним расширенный анализ алгоритмов кажется забавным и легким. Понимает ли Microsoft, как трудно было заставить эту комбинацию (IIS7 / WCF / Silverlight / провайдеры / разрешения / скрытые или отсутствующие сообщения об ошибках) заставить работать ??