C# 使用多个使用HTTP Cookie的asmx服务的WCF客户端
我试图在多个WCF客户端端点中使用相同的http cookie(实际上是asmx会话ID) 服务器有多个端点,其中一个是: AuthenticationService.asmxC# 使用多个使用HTTP Cookie的asmx服务的WCF客户端,c#,asp.net,wcf,cookies,asmx,C#,Asp.net,Wcf,Cookies,Asmx,我试图在多个WCF客户端端点中使用相同的http cookie(实际上是asmx会话ID) 服务器有多个端点,其中一个是: AuthenticationService.asmx Login()如果启用了asp.net兼容模式,则可以从WCF服务中访问http会话,因此不需要添加任何cookie即可 我刚刚遇到了同样的问题。如果WCF客户端只与一个ASP.NET服务通信,那么就很容易了。只需将BasicHttpBinding上的AllowCookies属性设置为true,服务代理将自动处理ASP.
Login()如果启用了asp.net兼容模式,则可以从WCF服务中访问http会话,因此不需要添加任何cookie即可
我刚刚遇到了同样的问题。如果WCF客户端只与一个ASP.NET服务通信,那么就很容易了。只需将BasicHttpBinding上的AllowCookies属性设置为true,服务代理将自动处理ASP.NET会话ID cookie 但我有一个像你这样的情况,有两个ASP.NET服务需要我的WCF客户端与之对话。第一个服务发出一个ASP.NET会话ID cookie,我需要能够在调用中将该cookie传递给第二个服务。有人知道怎么做吗?看看。
它解释了如何在WCF客户端代理中手动管理Cookie。更准确地说,WCF公开了一个API,允许您从HTTP响应中提取cookie,并以相同的方式手动将cookie设置为HTTP请求。
您需要做的是利用此机制从给定客户端代理收到的HTTP响应中手动提取cookie,并将同一cookie分配给另一个客户端代理发送到不同服务的HTTP请求。 MSDN论坛上介绍了如何使用WCF消息检查器为应用程序中的每个服务调用执行此操作 更新:
我写了一篇关于如何解决这个问题的博客文章。您可以阅读。问题是我还没有创建asmx服务,它超出了我的控制范围。我确实可以控制客户端,但据我所知,ASP.Comp模式适用于服务器端点服务?是的,它只需在网站的web.config中启用即可。我写了一篇关于如何解决此问题的博客文章: