Вопрос

Можно ли читать файлы 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top