WCF客户端使用HTTP Cookie的多个asmx服务
作者:互联网
我试图在多个WCF客户端终结点中使用相同的http cookie(实际上是asmx sessionid).
该服务器有多个端点,其中之一是:
AuthenticationService.asmx
Login()<-创建一个HTTP cookie,它是服务器ASP.NET sessionid
注销()<-销毁相同的cookie
SomeOtherService.asmx
DoSomeThing()<-从AuthenticationService.asmx中请求有效的cookie.
如何在多个端点之间共享HTTP Cookie.
我无法控制服务器代码,必须使用WCF.
解决方法:
看一下this article,它说明了如何在WCF客户端代理中手动管理cookie.更精确地讲,WCF公开了一个API,可让您从HTTP响应中提取Cookie,并以相同的方式将Cookie手动设置为HTTP请求.
您需要做的就是利用这种机制从给定的客户端代理接收的HTTP响应中手动提取cookie,并将该cookie分配给另一个客户端代理发送给不同服务的HTTP请求.
MSDN论坛上的This thread说明了如何使用WCF消息检查器对应用程序中的每个服务调用执行此操作.
更新:
我写了一篇有关如何解决此问题的博客文章.您可以阅读over here.
标签:cookies,asmx,wcf,asp-net,c 来源: https://codeday.me/bug/20191024/1922016.html