Печенье в WCF Сервис операцииContract
-
03-10-2019 - |
Вопрос
Можно ли читать файлы cookie в операционном контроле обслуживания WCF? Я пытаюсь прочитать значение cookie в методе контракта, но его всегда пусто. Если я прочитал то же самое печенье с страницы .aspx, значение присутствует. Есть идеи?
Решение
Как вы их проводите? WCF предназначен для того, чтобы быть нейтральным в хосте - т. Е. Ваши услуги все равно должны работать при размещении за пределами IIS. Однако есть совместимый режим, который может помочь вам:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>
Значение по умолчанию является ложным и отключает большинство функций ASP.NET, такие как httpContext.Courent.
Другие советы
То Basichttpbinding.AllowCookies Property Может это исправить, как упоминалось в начале Enrico.блог пост на Управление общими файлами cookie в WCF (ссылается здесь). Пост включает в себя фрагмент Web.config:
<system.ServiceModel>
<bindings>
<basicHttpBinding allowCookies="true">
</bindings>
<client>
<endpoint address="http://localhost/myservice"
binding="basicHttpBinding"
contract="IMyService" />
</client>
</system.ServiceModel>
Но ни один фрагмент кода не использует его (пост блога имеет код для более сложных решений, используя те же файлы cookie с разными веб-сервисами).
======== Edit ==========
Или, возможно, даже allowcookies = false.