Есть ли способ получить доступ к значениям cookie из метода веб-службы WCF?
Я переключаю свои веб-сервисы с.ASMX на.SVC, однако некоторые из них зависят от значений cookie, передаваемых по HTTP-запросу.
С веб-сервисом WCF, HttpContext.Current
нулевой. Вы можете изменить это, установив aspNetCompatibilityEnabled
в true
Однако этот параметр несовместим с интегрированным режимом конвейера в IIS7, который я также хочу использовать.
Реализует ли WCF какой-нибудь крутой новый современный способ доступа к файлам cookie?
2 ответа
Реализует ли WCF какой-нибудь крутой новый современный способ доступа к файлам cookie?
У WCF есть способ получить доступ к файлам cookie, но я не знаю, назову ли я его "крутой новый модерн". По сути, в рамках вашей службы вы можете получить доступ к WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Cookie]
собственности, и это даст вам ценность Cookie
Заголовок отправляется клиентом - в виде строки. В этот момент вы можете анализировать его по своему желанию.
В дополнение к правильному ответу вы должны убедиться, что для атрибута allowCookies вашей привязки установлено значение false.
Если установлено значение true, WCF возьмет на себя управление файлами cookie и удалит файлы cookie из заголовка, прежде чем они достигнут вашего кода. Смотрите форум MSDN
(Извините, пока не могу комментировать.)