在ASP.NET中将会话cookie从一个请求转移到另一个请求

时间:2015-12-12 15:25:13

标签: c# asp.net dotnet-httpclient system.net.httpwebrequest

我有3个不同的服务器。

On Server A I have a webpage pageA.aspx
On Server B I have a webpage pageFrame.aspx
On Server C I have a Web API controller controllerC.cs
On Server A I have another page pageB.aspx

pageA.aspx和pageB.aspx是同一网站上的不同页面。

pageFrame.aspx作为IFRAME嵌入pageA.aspx中。

pageA.aspx同时具有标准的ASP.NET身份验证和会话cookie以及其他cookie。

pageFrame.aspx获取这些cookie并对ControllerC.cs进行ajax调用,并能够在POST请求中传递这些cookie。

ControllerC.cs现在需要通过调用pageB.aspx将POST请求发回服务器A,但它需要传递来自pageFrame.aspx的ajax调用中收到的cookie。通过这样做,它可以到达pageA.aspx所在的同一会话。

现在,pageB.aspx进行了一些处理,并使用故障单(guid)回复了POST请求。然后,此票证将从ControllerC.cs发回,作为对pageFrame.aspx的ajax调用的响应的一部分。 pageFrame.aspx然后将此票据提交给pageA.aspx作为对最初请求的响应。

PageA.aspx现在只需提交回其网络服务器,就可以从会话中获取pageB.aspx在处理期间放置在会话中的任何内容。

现在我的问题是如何将来自pageFrame中的pageFrame.aspx的ajax post请求中的cookie转移到它对pageB.aspx的请求?

我一直在尝试使用HttpClient并尝试将cookie从一个请求添加到另一个请求,但它们似乎位于两个不同的命名空间中,当我发布帖子时,cookie不会被拾取并发送。有谁知道如何在ControllerC.cs中编写代码来从pageFrame.aspx中获取请求中的cookie并将其传递给它对pageB.aspx的新请求?

我期待并感谢您的帮助。

谢谢你, GMAT

0 个答案:

没有答案