0

私はいくつかのWebRequestを作成し、サイトへの応答を取得し、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とセッション変数がないため、ユーザーがボタンをクリックすると、Webページはログオフページにリダイレクトされます。私が上でしたことは、ページにhtmlを書き込むことだけでした。HttpContext.Current多分、WebClientクラスは役に立つかもしれないと思いましたが、それを理解することはできませんでした。

このセッションを続行するようにブラウザを作成するにはどうすればよいですか?応答からブラウザにセッション変数とキャッシュを渡すにはどうすればよいですか?

どんな助けでもありがたいです。

シナン

4

2 に答える 2

0

私はウェブサイトにリクエストをしていました。ウェブサイトの応答時に、応答コンテンツをページに書き込もうとしていました。ユーザーがその Web サイトを閲覧できることを望んでいましたが、セキュリティ上の理由からこれが不可能であることがわかりました。別のドメインのセッション ID (セッション Cookie) を設定できません。javascript で jsessionid Cookie を追加しようとしましたが、アクセスが拒否されました。

于 2010-06-25T12:27:17.090 に答える
0

私があなたのシナリオを理解していれば、ページのユーザーに代わって別の Web サイトで認証を行う ASP.NET ページを作成していることになります。この asp.net ページがユーザーからの要求を受け取ると、いくつかの要求/応答がバックエンド Web サーバーに送信されます。ある時点で、最初にページのユーザーの確認を取得して、バックエンド サーバーへのトランザクションを完了したいとします。

したがって、確認要求が入ったときにセッション状態が失われているということです。ユーザーをセッションに関連付け、ユーザーのセッションに (CookieContainer に設定された) バックエンド Cookie を保存する必要があります。ユーザーにサービスを提供しているWebサーバーが1つしかない場合は、おそらく静的ハッシュテーブル/辞書に保存できます。

それが役立つことを願っています。

于 2010-06-24T21:39:14.810 に答える