其他分享
首页 > 其他分享> > WCF客户端使用HTTP Cookie的多个asmx服务

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