Silverlight не отправляет куки в междоменных запросах браузера - PullRequest
0 голосов
/ 15 января 2010

У меня есть элемент управления Silverlight 3, который делает междоменный HTTP-запрос на http: // somedomain /. Я использую стек HTTP браузера, чтобы сделать этот запрос. Надлежащий файл clientaccesspolicy.xml на некотором домене находится на месте.

В моем браузере есть набор файлов cookie для некоторого домена, и я хочу, чтобы они использовались при использовании HTTP-запроса.

Однако, когда мой элемент управления Silverlight загружается с http: // localhost /, ни один из моих файлов cookie, похоже, не передается (я использую Fiddler для отслеживания трафика HTTP)!

Когда я загружаю xap в http: // somedomain / Хотя и загружаю его оттуда (чтобы HTTP-запрос не был междоменным), я вижу, что все мои куки браузера / IE для некоторого домена передаются и все в порядке.

Это предполагаемое поведение? Я проверил MSDN, и он говорит, что файлы cookie браузера передаются всегда, независимо от того, является ли запрос междоменным или нет.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 27 июня 2012

Потратил часы с аналогичной проблемой. Оказывается, сайт не был в надежных сайтах. Похоже, это предотвратило веб-запрос браузера, который Silverlight SharePoint ClientContext использует для отправки необходимых файлов cookie (в моем случае FedAuth).

0 голосов
/ 15 января 2010

На самом деле, при использовании HTTP-стека браузера Silverlight не имеет большого контроля над тем, как обрабатываются файлы cookie. Это оставляет настройки, настроенные пользователем в браузере.

Возможно, вам стоит отредактировать свой файл HOSTS и разместить сопоставление вашего IP-адреса с именем, подобным «myhost.mydomain.com» (да, вы можете просто выбрать то, что вам нравится). Теперь посетите ваш локальный сайт, используя это имя хоста.

Под IE localhost находится в другой зоне, чем в более широком Интернете, и вы можете запутаться в некоторых странных ограничениях при переходе из одной зоны в другую. При использовании полного доменного имени, указанного выше, ваш сайт должен находиться в зоне Интернета. Это по крайней мере устранит проблемы с зоной как источник этой проблемы.

Еще один тест - использовать Firefox.

...