clientaccesspolicy.xml не запрашивается первый раз в некоторых браузерах

Я сталкиваюсь со странной проблемой, связанной с междоменным вызовом веб-службы в Silverlight 4.

Сразу после запуска приложение вызывает веб-сервис на том же хосте, откуда он был загружен, но на другом порту (например, приложение находится вhttp://www.mydomain.com:80 и веб-сервис находится вhttp://www.mydomain.com:81). Не задействован SSL. Хост предоставляет правильный файл clientaccesspolicy.xml, и все работает правильнобольшую часть времени (вроде 99,9%).

Однако в некоторых случаях браузер не запрашивает clientaccesspolicy.xml, и в результате вызов веб-службы блокируется и завершается ошибкой с междоменной ошибкой.

В типичном случае это последовательность запросов, которую вы видите с помощью инструментов разработчика Fiddler или Chrome:

index.html (страница, на которой размещено приложение silverlight)Silverlight.jsapplication.xapclientaccesspolicy.xml (запрошено и загружено правильно)вызов веб-службы

Однако в некоторых случаях вы видите только

index.html (страница, на которой размещено приложение silverlight)Silverlight.jsapplication.xap-> междоменная ошибка (не запрашивается клиентская политика, нет вызова веб-службы).

Это происходит только на меньшинстве машин (все работают под управлением Windows 7), если выполняются все эти условия:

приложение работает вChrome, Firefox или вне браузера (IE всегда работает)егопри первой загрузке страницы (то есть, если вы нажмете кнопку перезагрузки браузера, проблема исчезнет. Закройте / перезапустите браузер, и в первый раз у вас все еще будет проблема)нет скрипача работает (если вы запускаете трафик через Fiddler, проблема исчезает). Инструменты разработчика Chrome не имеют никакого эффекта, хотя.машина находится внутритот же домен, что и приложение сервер. Если вы заходите на страницу из внешней сети (с той же машины), проблема не в этом.

На этих машинах, при таких обстоятельствах, проблема воспроизводима на 100%.

Что может быть причиной этого? Какие шаги я могу выполнить, чтобы отследить проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос