ReportViewerコントロールを使用してレポートを生成する.aspxページがあります。これは通常、Response.Redirectを使用して別のページから呼び出されます。ASP:ヘッドレスページにリダイレクトして返信
このページはいくつかの方法で使用できます。ページがMIME添付ファイルなどの応答を生成する限り、期待通りに動作します。しかし、今ではレポートを生成して電子メールの添付ファイルとして送信する機能を追加しました。このシナリオでは、ページはヘッドレスであり、単独で応答を生成しません。代わりに、呼び出しページにリダイレクトして、成功メッセージを表示します。
呼び出し元ページ - >ボタンクリック - >応答。リダイレクト(レポートページ) - >プロセスレポート - > Response.Redirect(呼び出し元ページ)
これは、Chromeでは意図したとおりに動作しますが、IE(8)では動作しません。レポートが処理され、電子メールが送信されますが、2回目のリダイレクトは機能せず、ブラウザはタイムアウトします。 ReportViewerページへのリダイレクトにServer.Transferを使用することを検討しました。 IEでタイムアウトが発生しました。
1回のリクエストで2回のリダイレクトはできませんか?私は何が欠けているのですか?これを行うには良い方法がありますか?これはRFC1945から引用 は私はアプローチがOKであることを考えさせる:
ユーザエージェントは自動的に は、このようなリダイレクト以来、通常 が無限ループを示し、より5倍以上の要求をリダイレクトすることはありません。 FYI
それはレポートが彼のブラウザに戻ってストリーミングされ、通常のシナリオでは、Responseオブジェクトと相互作用するので、私は、可能であれば、レポートビューアーページのコードビハインドですべてのレポート処理ロジックを維持したいです。
私はこれをすでに見ていますが、欠点があります。ページはリダイレクトされる前に電子メールアドレスを検証しているので、レポートページに移動する必要があります。レポートページには、そのページが所属していない場所に移動する必要があります。 – cdonner