У меня есть куча WCF сервисов в домене:Windows Phone 7 - Куки не посланные WCF службы
- AuthenticationService (стандарт MS один, через HTTPS)
- AppService (HTTP)
Обычно я вызываю службу проверки подлинности и возвращается файл cookie. Для настольных приложений я отсоединяю файл cookie и подключаю его каждый новый вызов службы AppService, который отображает мясо моего API.
Silverlight в браузере автоматически прикрепляет cookie во всех вызовах домена. Я ожидал, что телефон сделает то же самое.
Это не так.
Доступ к заголовкам не поддерживается на телефоне, поэтому ручные манипуляции отсутствуют. Интересно, не потому ли, что из-за какой-то яркой искры в MS подумал, что телефон должен принудить к тому, что куки-файлы только привязаны к конечным точкам HTTPS в том же домене или что-то в этом роде.
Помощь!
Это кошмар для устранения неполадок, поскольку телефон не поддерживает другие основные важные полезные настройки; игнорируя самоподписанные сертификаты.
Спасибо,
Лука
** UPDATE **
В то время как я отслеживаю вверх метод, используя CookieContainer я должен отметить, что даже если метод Add на сбор заголовков отсутствует в Silverlight все еще можно добавлять заголовки с помощью индексатора.
** UPDATE 2 **
CookieContainer может быть установлен в соответствии с Lex ответ. Я сейчас застрял и продолжаю расследовать исключение ArgumentNullException, выкинутое из клиента WCF, после ссылки на Exferences.cs EndInvoke. На моем сервере нет признаков приема вызова.
Два ключевых вызовов на стеке:
System.Net.Browser.HttpWebRequestHelper.ParseHeaders
И
MS.Internal.InternalWebRequest.OnDownloadFailed
FINAL UPDATE
Ошибка ArgumentNullException при вызове получить сервер с самозаверяющим сертификатом.
Однако в эмуляторе/SDK есть что-то странное. У меня есть это исключение для всех моих серверов, даже для тех, у кого нет SSL, и у вас есть сертификат.
У меня также были проблемы, которые были устранены только при локальной перезагрузке. Поэтому я думаю, что мои проблемы были результатом правильного кода, но считали, что это было неправильно из-за других проблем в SDK.
Не знаете, какой совет дать, за исключением того, что вы не доверяете исключениям, вытекающим из стека WP7 WCF, в частности EndpointNotFoundException и ArgumentNullException, и иметь полное клиентское приложение для проверки рамки в качестве проверки работоспособности.
Люк
Стоит отметить, что HTTPOnly-файлы cookie в CookieContainer невидимы и поэтому не могут быть сохранены между активациями/сеансами телефонных приложений. – 2010-12-06 14:16:27
Как замечательная сторона, у меня также была проблема в течение 6 месяцев, когда эмулятор, похоже, не отправляет файлы cookie, но устройство делает это. Это проблема с 7.1 SDK. – 2011-10-11 10:36:47