Как я могу сохранить сеанс, направляя пользователя за границу, а затем обратно? - PullRequest
1 голос
/ 23 января 2020

Веб-сайт A создает данные сеанса пользователя и отправляет запрос на веб-сайт B. Веб-сайт B просматривает информацию, которая была передана, и отправляет ответ обратно на веб-сайт A. Однако веб-сайту A необходимо обработать ответ и зарегистрировать информацию для пользовательского сеанса. пользовательский сеанс кажется пустым при перенаправлении на сайт B (или при перенаправлении обратно на сайт A).

Есть ли способ сохранить данные сеанса пользователя на веб-сайте A?

РЕДАКТИРОВАТЬ: мне не понадобится доступ к данным сеанса на веб-сайте B, мне просто нужно, чтобы они были там после перенаправления обратно на веб-сайт A, однако, похоже, что после перенаправления назад он был аннулирован.

РЕДАКТИРОВАТЬ 2: Добавить пример грубого кода. Проблема заключается в том, что при перенаправлении с / на сайт A ASP. NET SessionID сбрасывается, а объект сеанса «клиент» становится пустым и больше не доступен после возврата с сайта B обратно на сайт A.

Сайт A

...
CustomerObject customer = new Customer();
Session["customer"] = customer;
Response.Redirect("https://www.siteB.com?querystring=info");

Сайт B

... handles needs
Response.Redirect("https://www.siteA.com?querystring=info");

Сайт A

 //parse response//
 string info = Request["querystring"]

1 Ответ

0 голосов
/ 24 января 2020

Вы можете использовать . Net Кэш приложения и создать собственный класс для доступа к этому кэшу и сохраненным данным, которые вы сохраните. Или вы можете сделать это с базой данных.

В обоих случаях вам потребуется сгенерировать ключ, который будет сохранен в вашем новом слое персистентности (я полагаю, у вас уже есть сгенерированный sessionId для запуска).

В самом простом сценарии вы можете отправить этот ключ в своем запросе и указать его в ответе, что позволит вам идентифицировать и извлечь сохраненные данные сеанса. Может быть, избавиться от него, когда он больше не требуется / по истечении определенного периода времени.

...