Если я правильно понимаю ваши изменения, указанные выше, вы уже проверили запросы HTTP и обнаружили, что требуемый файл cookie присутствует в заголовке HTTP Set-Cookie
ответа, но отсутствует в заголовке Cookie
следующего запроса.Это правильно?Если нет, пожалуйста, уточните.
Если это так, проблема звучит как одна из трех:
- клиент не может успешно сохранить cookie, по многим возможным причинам, включая:
- cookieнеправильно отформатирован (unlikley)
- файл cookie слишком длинный
- существует политика на стороне клиента или сервера (например, P3P), запрещающая сохранение постоянных файлов cookie.
- Клиент сохраняет cookie в порядке, но не отправляет его обратно, даже без Silverlight.Это может быть вызвано, например, проблемой безопасности, когда имя хоста первого запроса отличается от второго.
- Клиент сохраняет cookie и может отправить его обратно через обычные HTML-страницы, но не через HTTP-запросы, отправленные Silverlight.
Чтобы узнать, является ли проблема № 1, посмотрите(используя возможности браузера для просмотра файлов cookie) в файлах cookie, сохраненных вашим браузером для этого сайта.Ожидаемый файл cookie сохранен?Если это так, то вы можете устранить # 1 в качестве проблемы.Если он не сохранен, начните искать
Чтобы увидеть, является ли проблема № 2, попробуйте создать страницу на стороне сервера без серебряного света - просто простую страницу HTML.Когда вы посещаете эту страницу с помощью браузера, отправляются ли файлы cookie, как ожидается?Если да, то # 2 не ваша проблема.
Если № 1 и № 2 не проблема, то остается № 3.Обработка HTTP в Silverlight является сложной, не в последнюю очередь потому, что вам приходится выбирать между обработкой клиентских запросов HTTP браузером или Silverlight.Внимательно прочитайте документацию к cookie-файлам Silverlight и посмотрите, поможет ли какая-либо информация в ней помочь вам разобраться в проблеме.Попробуйте использовать настройку «Client HTTP» или, если вы уже используете ее, подумайте о том, чтобы вернуться к настройке «HTTP браузера» и посмотреть, исчезнет ли ваша проблема.Обратите внимание, что настройка HTTP-клиента, по-видимому, связана с потерей новых файлов cookie после перенаправления HTTP.См. эту тему для получения дополнительной информации.В этой теме обсуждается обходной путь: используя CookieContainer
.
Кстати, не могли бы вы отредактировать свой вопрос, включив в него все заголовки HTTP запроса и последующего запроса?Это может помочь диагностике.