実行状態を特定する

ハイパーテキスト転送プロトコル (HTTP) は、コネクションレスプロトコルおよびステートレス プロトコルです。 コネクションレスでステートレスとは、異なる要求が同じクライアントから送信されたかどうか、または単一のブラウザー インスタンスがまだページまたはサイトをアクティブに表示しているかどうかを自動的に示さないことを意味します。 セッションが論理接続を作成し、HTTP を介したサーバーとクライアント間の状態を保持します。 特定のセッションに関連するユーザー固有情報は、セッション状態と呼ばれます。

セッション管理には、HTTP 要求を同じセッションから生成された他の以前の要求と相関させることが含まれます。 セッション管理を使用しないと、HTTP プロトコルがコネクションレスでステートレスな性質であるため、このような要求がレポート サーバー Web サービスと関係なく表示されます。

Reporting Services では、ASP.NET によって公開されるなど、セッション状態の包括的な概念は公開されません。 ただし、レポートを実行する場合に、レポート サーバーは実行の形式でメソッド呼び出し間で状態を保持します。 実行によって、レポート サーバーからレポートを読み込む、レポートの資格情報とパラメーターを設定する、レポートを表示するなど、ユーザーが複数の方法でレポートと対話することができます。

レポート サーバーと通信している間、クライアントは実行を使用してレポートの表示とレポート内の他のページへのユーザー ナビゲーションを管理し、レポートのセクションの表示と非表示を切り替えます。 クライアント アプリケーションが実行しているレポートごとに、固有の実行が存在します。

一般的に、ユーザーがブラウザーまたはクライアント アプリケーションにナビゲートし、表示するレポートを選択したときに、実行の有効期間が開始します。 実行はカード実行に対する最後の要求が受信された後の短いタイムアウト期間 (既定のタイムアウトは 20 分) の後に解除されます。

Web サービスのタイムアウトが開始するのは、レポート サーバー Web サービス LoadReportLoadReportDefinition、または Render メソッドが呼び出されたときです。 アプリケーションは、他のメソッドを使用してアクティブな実行を操作できます (パラメーターの設定やデータ ソースの設定など)。 実行はカード実行に対する最後の要求が受信された後の短いタイムアウト期間 (既定のタイムアウトは 20 分) の後に解除されます。

アプリケーションは、Web サービス Render の呼び出しと RenderStream メソッドの間の複数のアクティブな実行を保存 ExecutionIDすることによって追跡します。 実行 ID は、メソッドLoadReportDefinitionから SOAP ヘッダーでLoadReport返されます。

次のダイアグラムは、レポートに対する処理と表示のパスを示しています。

Diagram that shows the processing and rendering path for reports.

前述の関数をサポートするために、現在の SOAP Render メソッドは、実行の初期化、処理、レンダリングの各フェーズを含む複数のメソッドに分割されます。

プログラムによってレポートを表示するには、次の操作を行う必要があります。

レポートがセッション中の間は、レポート サーバー データベースに格納された基になるレポートを変更できます。 たとえば、レポート定義の変更、レポートの削除や移動、ユーザー権限の変更ができます。 レポートがアクティブなセッションにある場合、基になるレポート (つまり、レポート サーバー データベースに格納されているレポート) に対する変更は影響しません。

URL アクセス コマンドを使用して、レポート セッションを管理することもできます。

Render
テクニカル リファレンス (SSRS)
Reporting Services SOAP ヘッダーを使用する