私は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 は、同じ Web サイトの異なるページです。
pageFrame.aspx は、pageA.aspx に IFRAME として埋め込まれています。
pageA.aspx には、標準の ASP.NET 認証とセッション cookie の両方と、他の cookie があります。
pageFrame.aspx はこれらの Cookie を取得し、ControllerC.cs への ajax 呼び出しを行い、POST 要求でこれらの Cookie を渡すことができます。
ControllerC.cs は、pageB.aspx を呼び出してサーバー A に POST 要求を戻す必要がありますが、pageFrame.aspx からの ajax 呼び出しで受け取った Cookie を渡す必要があります。これにより、pageA.aspx があった同じセッションに到達できます。
ここで、pageB.aspx は何らかの処理を行い、チケット (guid) を使用して POST 要求に応答します。このチケットは、pageFrame.aspx への ajax 呼び出しへの応答の一部として ControllerC.cs から送り返されます。次に、pageFrame.aspx は、最初の要求への応答として、このチケットを pageA.aspx に送信します。
PageA.aspx は、その Web サーバーに送信するだけで、処理中に pageB.aspx がセッションに配置したものをセッションから取得できます。
ここで私の質問は、ControllerC.cs の pageFrame.aspx の ajax ポスト リクエストから、pageB.aspx に対して行っているリクエストに Cookie を転送する方法です。
私は HttpClient を使用しようとしていて、あるリクエストから別のリクエストに Cookie を追加しようとしましたが、それらは 2 つの異なる名前空間にあるようで、投稿を行うときに Cookie が取得されて送信されません。ControllerC.cs にコードを記述して、pageFrame.aspx から行われたリクエストで Cookie を取得し、それを pageB.aspx に対して行っている新しいリクエストに渡す方法を知っている人はいますか?
どうぞよろしくお願いいたします。
ありがとう、Gmat