Crystal Reports で使用する適切な永続アプローチの選択
Crystal Reports SDK を使用して Web アプリケーションの作成を計画するにあたり最も重要な検討事項の 1 つに、永続アプローチの選択があります。永続に影響を与える SDK の基本を理解することにより、目的の Crystal Reports for Visual Studio プロジェクトに最も適した構造を選択できます。
維持について
Web ページでは、状況、すなわち Web サイトに接続しているユーザーのステータスおよび情報が保存されません。各 Web ページはサーバーからリクエストがあり、ユーザーに送信されたところで処理が終了します。テキスト情報の読み取りであれば、これで問題はありません。しかし、サイト内の各ページにわたって再ロードとリダイレクトを実行するユーザーについて、情報を保存する必要がある Web アプリケーションを設計する場合には、不具合が生じます。
維持は、各ユーザーの状況(各ユーザーが表示している現在のレポート ページなど)を、ページの再ロードやリダイレクトによって妨げられることなく保存する構造の活用を意味します。
維持のベスト プラクティス
このセクションでは、Web ページの再ロード中にレポートが更新されても、Web ページ上の Crystal レポートへの変更を維持するベスト プラクティスについて説明します。維持する必要のある変更は、レポートを表示したユーザーが[次のページ]ボタンをクリックして次のページに移動するといったように単純な場合のほか、レポートのパラメータが変更されてまったく異なるデータを表示するといったように複雑な場合もあります。
Crystal Reports for Visual Studio では、次の機能に永続を適用します。
- CrystalReportViewer コントロール
- CrystalReportViewer コントロールにバインドされるレポート
ASP と ASP.NET で状況を永続する方法
従来の ASP と ASP .NET では、Web ブラウザまたは Web サーバーで、次の方法により状況が永続されます。
環境
|
クライアント/サーバー
|
名前
|
メソッド
|
---|---|---|---|
ASP*
|
クライアント ブラウザ
|
フォーム フィールド
|
フォーム サブミッション フィールドを通じて、各 Web ページの名前と値を対にして渡します。
|
ASP*
|
クライアント ブラウザ
|
URL 引数
|
URL 引数を使用して、各 Web ページの名前と値を対にして渡します。
|
ASP*
|
クライアント ブラウザ
|
Cookie
|
名前と値の組み合わせをクライアント ブラウザ上の Cookie に割り当て、新しいページで Cookie を取得します。
|
ASP*
|
Web サーバー
|
Session オブジェクト
|
インスタンス化したオブジェクトをサーバー上の Session オブジェクトに割り当て、新しいページで Session オブジェクトから取得します。
|
ASP*
|
Web サーバー
|
Application オブジェクト
|
インスタンス化したオブジェクトをサーバー上の Application オブジェクトに割り当て、新しいページで Application オブジェクトから取得します。
|
ASP.NET
|
クライアント ブラウザ
|
ViewState オブジェクト
|
文字列値を ASP.NET Web フォームの ViewState オブジェクトに割り当てます。
|
ASP.NET
|
Web サーバー
|
Cache オブジェクト
|
Application オブジェクトと同じですが、機能が強化されています。
|
* ASP の維持アプローチは、すべて ASP.NET でも機能しています。
Crystal Reports で機能する最適な永続アプローチ
Crystal Reports で使用するのに最適な永続アプローチは、ViewState、Session、または Cache です。