c# - WCF 客户端使用多个使用 HTTP Cookie 的 asmx 服务

标签 c# asp.net wcf cookies asmx

我正在尝试在多个 WCF 客户端端点中使用相同的 http cookie(实际上是一个 asmx sessionid)。

服务器有几个端点,其中之一是:

AuthenticationService.asmx
Login() <- 创建一个作为服务器 ASP.NET sessionid 的 HTTP cookie
Logout() <- 销毁相同的 cookies

SomeOtherService.asmx
DoSomeThing() <- 从 AuthenticationService.asmx 请求有效的 cookie。

如何跨多个端点共享 HTTP Cookie。

我无法控制服务器代码,必须使用 WCF。

最佳答案

看看this article .
它解释了如何在 WCF 客户端代理中手动管理 cookie。更准确地说,WCF 公开了一个 API,让您可以从 HTTP 响应中提取 cookie,并以同样的方式手动将 cookie 设置为 HTTP 请求。

您需要做的是利用此机制从给定客户端代理收到的 HTTP 响应中手动提取 cookie,并将该相同的 cookie 分配给另一个客户端代理发送到不同服务的 HTTP 请求。

This thread在 MSDN 论坛上解释了如何使用 WCF 消息检查器对应用程序中的每个服务调用执行此操作。

更新:

我已经写了一篇关于如何解决这个问题的博文。可以看一下over here .

关于c# - WCF 客户端使用多个使用 HTTP Cookie 的 asmx 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201153/

相关文章:

c# - 设置表格最小尺寸

c# - Azure git 部署在引用的 .config 文件上失败

wcf - 在 WCF 服务中发布 DataAnnotation 属性,并在使用者代理类中重新生成它们?

c# - 如何获取 EPPlus OpenXML 行数 (c#)

.net - 运行时将 DataContract 和 DataMember 添加到使用 .Net 反射创建的动态类

c# - 带有 ChannelFactory 的 WCF 客户端,方法返回 ProtocolException/405 Method not Allowed

c# - 使用 Div Click 事件作为 UpdatePanel 的触发器

c# - 使用 SQL 准备语句在 C# 中绑定(bind)结果

asp.net - VB.Net SQL 结果为 Ajax 的 JSON

javascript - 为什么我的 XSLT 格式在 Windows 10 操作系统的 Microsoft Edge 中无法正常工作?