Отправка WebResponse в браузер и заставить пользователя продолжать использовать сайт - PullRequest
0 голосов
/ 23 июня 2010

Я сделал несколько веб-запросов, получил ответы на сайте и успешно разместил данные на 3 страницах. Теперь последняя страница является страницей подтверждения, и мне нужно, чтобы пользователь нажал кнопку подтверждения. Но когда я пишу содержимое ответа в браузер, как это

response = request.GetResponse() as HttpWebResponse;
dataStream = response.GetResponseStream();
reader = new StreamReader(dataStream);

responseFromServer = reader.ReadToEnd();
responseFromServer = responseFromServer.Replace(@"=""/", @"=""http://website.com/");
Page.Response.Write(responseFromServer);

веб-страница перенаправляет на страницу выхода из системы после того, как пользователь нажал кнопку, потому что в браузере нет файлов cookie и переменных сеанса. То, что я сделал выше, это просто написание HTML на страницу. Я подумал, может быть, HttpContext.Current или WebClient классы могут быть полезны, но не могут понять это.

Как я могу заставить браузер продолжить эту сессию? как я могу передать переменные сеанса и кеш из ответа в браузер?

Любая помощь будет оценена ..

Синан

Ответы [ 2 ]

0 голосов
/ 25 июня 2010

Я делал запрос на сайт.Когда сайт отвечал, я пытался написать ответное содержание на страницу.Я надеялся, что пользователь сможет продолжать просматривать этот сайт, но теперь я понимаю, что это невозможно из-за соображений безопасности.я не могу установить идентификатор сессии (cookie сессии) для другого домена.я пытался добавить jsessionid cookie с помощью javascript, но доступ запрещен ..

0 голосов
/ 25 июня 2010

Если я понимаю ваш сценарий, вы пишете страницу ASP.NET, которая, в свою очередь, аутентифицируется на другом веб-сайте от имени пользователя вашей страницы.Когда эта страница asp.net получает запрос от пользователя, она, в свою очередь, отправляет пару запросов / ответов бэкэнд-веб-серверу.В какой-то момент вы хотите завершить транзакцию с внутренним сервером, сначала получив подтверждение пользователя вашей страницы.

Итак, происходит то, что состояние сеанса теряется при поступлении запроса на подтверждение.Что вы должны сделать, это связать пользователя с сеансом и сохранить ваши внутренние куки (которые были установлены в CookieContainer) в сеансе пользователя.если существует только один веб-сервер, обслуживающий пользователя, вы, вероятно, можете сохранить его в статической хэш-таблице / словаре.

надеюсь, что это поможет.

...