wcf服务OperationContract中的cookie

发布于 2024-09-19 06:08:42 字数 112 浏览 3 评论 0原文

是否可以读取wcf服务的OperationContract中的cookie?我试图在合约方法中读取 cookie 值,但它始终为空。如果我从 .aspx 页面读取相同的 cookie,则该值存在。有什么想法吗?

Is it possible to read cookies in the OperationContract of a wcf service? I am trying to read a cookie value in the contract method, but its always empty. If I read the same cookie from a .aspx page, the value is present. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初心未许 2024-09-26 06:08:42

你如何接待他们? WCF 旨在与主机无关——即,您的服务在 IIS 外部托管时仍应正常工作。但是,有一种兼容模式可能会对您有所帮助:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>

默认值为 false,并禁用大多数 ASP.NET 功能,例如 HttpContext.Current。

How are you hosting them? WCF is intended to be host-neutral -- i.e. your services should still work when hosted outside of IIS. However, there is a compatibilty mode which might help you:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>

The default value is false and disables most ASP.NET features like HttpContext.Current.

迷爱 2024-09-26 06:08:42

BasicHttpBinding.AllowCookies 属性 可能会解决此问题,正如 Enrico在 WCF 中管理共享 cookie (引用 此处)。这篇文章包含 web.config 片段:

<system.ServiceModel>
    <bindings>
        <basicHttpBinding allowCookies="true">
    </bindings>
    <client>
        <endpoint address="http://localhost/myservice"
                  binding="basicHttpBinding"
                  contract="IMyService" />
    </client>
</system.ServiceModel>

但没有使用它的代码片段(该博客文章包含使用相同 cookie 和不同 Web 服务的更复杂解决方案的代码)。

======== 编辑 ==========

或者甚至 allowCookies=错误

The BasicHttpBinding.AllowCookies Property may fix this, as mentioned at the start of Enrico's blog post on Managing shared cookies in WCF (referenced here). The post includes the web.config fragment:

<system.ServiceModel>
    <bindings>
        <basicHttpBinding allowCookies="true">
    </bindings>
    <client>
        <endpoint address="http://localhost/myservice"
                  binding="basicHttpBinding"
                  contract="IMyService" />
    </client>
</system.ServiceModel>

but no code fragment using it (the blog post has code for more complex solutions using the same cookies with different web services).

======== EDIT ==========

Or perhaps even allowCookies=false

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文