指定する、レポート サーバーへの ReportViewer コントロールからの接続には、接続が行われるが、条件を知っておくと役立ちます。
先頭を ReportViewer コントロールが含まれている Web ページがロードとき、コントロールをレポート セッションを確立、取得やレポート パラメータのプロパティを設定し、サーバー上で使用可能なレンダリングの拡張機能の一覧を取得レポート サーバーに接続します。
実行しているコントロールの場合 AsyncRendering = true をレポートの HTML して取得されます非同期 IFrame オブジェクト、ページがレンダリングされる後。
レポートは、外部のイメージを参照、 ReportViewer コントロールごと要求が独自の接続で行われた場所、 ReportViewer HTTP ハンドラを使用して別の要求からのイメージ取得します。
後のレポートが表示される、追加の接続はレンダリングされたレポートを別の形式にエクスポートする場合に発生します。エクスポート要求が、独立した接続を使用してレポート サーバーにブラウザから送信されます。
すべてのこれらの操作の成功は ReportViewer コントロールにレポート サーバーへの有効な接続情報があるかどうかによって異なります。接続情報を指定する方法を使用しているかどうかフォーム認証、Windows 認証、現在のユーザー、または ASP.NET のセッションの資格情報などの要因によって異なります。
接続を指定する方法
サーバーに接続するには、ServerReport オブジェクトにプロパティを設定または、接続の設定をし、実装は、Web.config ファイルで指定のインターフェイスを実装できます。 ReportViewer コントロールは、常に最初に、Web.config ファイルを読み取りを指定する場合に、接続の値を使用します。
セッション状態が有効になっている場合、 ServerReport オブジェクトにプロパティを設定するか、接続情報は、Web.config ファイルで指定するかを選択できます。Web.config で接続情報を指定する場合はプロパティは、 ServerReport オブジェクトに設定されません。
セッション状態がオフの場合は IReportServerConnection または IReportServerConnection2 を実装し、Web.config ファイルでの実装を指定する必要があります。
![]() |
---|
接続が確立されるユーザー アカウントは、レポート サーバーで有効な役割の割り当てが必要です。システムおよびアイテムの両方のレベルの役割の割り当てを使用して包括的な一連のアクセス許可を作成します。レポート サーバー ロールの割り当てに慣れていない場合は役割の割り当ての基本事項については、チュートリアルを実行ことができます。詳細については、「」を参照してください。チュートリアル: Reporting Services でアクセス許可を設定します。MSDN。 |
ServerReport オブジェクトにプロパティの設定
設定できます、レポート サーバー URL とタイムアウト プロパティ、 ServerReport オブジェクトにデザイン時に、Web フォームにコントロールをドラッグすると。
既定では、 ReportViewer Web サーバー コントロールが ASP.NET スレッド ユーザーとして [レポート サーバーに接続します。
別のユーザー (たとえば、すべてのユーザーに単一のユーザー アカウントでレポート サーバーに接続する) として接続をシリアル化可能なオブジェクトに IReportServerCredentials を実装し、 ReportViewer.ServerReport.ReportServerCredentials をそのオブジェクトのインスタンスを渡します。 ReportViewer コントロール、ASP.NET ページの処理が終了したらにレポート サーバーに接続できます、ため、オブジェクト必要があります保存用シリアル化可能な ASP.NET のセッションが (たとえば、SQL Server データベース) のプロセスが格納されている場合。
ReportViewer.ServerReport.ReportServerCredentials プロパティを直接設定する 2 つの短所ことを確認します。
ASP.NET のセッションを有効にする必要があります。
ASP.NET のセッションを ReportViewer コントロールのページを表示するユーザーごとのセッションに、オブジェクトのインスタンスを配置するため、不必要に拡大になります。
上記の短所は、Web.config ファイルで IReportServerConnection2 の実装を指定して回避できます。
指定する方法に関する推奨事項の資格情報のセッション状態がオフの場合、 保存 Credentials ASP.NET のセッションが無効になっている場合のガイドライン 」を参照してください。
Web.config で、レポート サーバーの接続を指定します。
IReportServerConnection または IReportServerConnection2 を実装するとき指定しなければ、実装アプリケーションの Web.config ファイルになりません。Web.config ファイルでは、接続および資格情報の情報を含むオブジェクト型を提供します。
![]() |
---|
IReportServerConnection2 または IReportServerConnection 、およびいない IReportServerCredentials の実装は、Web.config ファイルで指定しなければなりません。 IReportServerConnection2 は、 IReportServerCredentials から派生し、追加のプロパティ、レポート サーバー URL、タイムアウト値、および任意のカスタム cookie または HTTP ヘッダーを使用するを指定する追加します。 |
IReportServerConnection2 は必須では ASP.NET のセッションが無効になっている場合、セッションでオブジェクトの保存を回避する場合になって ASP.NET のセッションで使用できます。詳細およびコード例を参照プログラミング参照 IReportServerConnection2 のです。Web.config でキーを追加する方法についてですを参照してください。ReportViewer の Web.config 設定.
次の表は、資格情報と接続情報を提供するインターフェイス。
Interface | 説明 |
---|---|
IReportServerCredentials |
このインターフェイスを使用してを ServerReport オブジェクトを使用して、現在のユーザーとして接続しない場合、レポート サーバーに接続する資格情報を指定することができます。 既定では、 ReportViewer コントロールが ASP.NET スレッド ユーザーとして [レポート サーバーに接続します。 別のユーザーを指定 IReportServerCredentials の独自の実装のインスタンスを ReportViewer.ServerReport.ReportServerCredentials に設定できます。 |
IReportServerConnection |
このインターフェイスは IReportServerCredentials から継承し、URL とタイムアウトのプロパティに、レポート サーバーを指定する追加のメンバを提供します。 |
IReportServerConnection2 |
このインターフェイスは IReportServerConnection から継承し、指定するカスタム cookie またはヘッダーは、単一のサインオン製品レポート サーバーで使用している場合に便利です追加メンバを提供します。 |
保存 Credentials ASP.NET のセッションが無効になっている場合のガイドライン
IReportServerConnection2 を実装するときはユーザーの資格情報は、クラスで保存されません。資格情報をシリアル化可能なオブジェクトに格納する場合、ユーザー名とパスワード、ASP.NET のセッションにシリアル化されされます、SQL Server データベースまたは他の状態サーバーに格納します。資格情報をシリアル化がいないときは必ずしもセキュリティ上のリスクをセッション データとしての資格情報を格納するにより攻撃の危険性の領域を強化は。
以下のアプローチの例に他のセッション データの横の資格情報を格納するを回避する方法示します。
読み取りは、構成ファイルまたはいくつかその他の構成ストアから資格情報を格納しました。詳細およびコード例を参照プログラミング参照 IReportServerCredentials のです。
異なる資格情報を提供する ASP.NET の要求から、HTTP Cookie の読み取りは、クライアントに基づきます。
![]() |
---|
柔軟に、クラスの外部資格情報を格納する方法を選択するが、レポートの同じセッションで後続の要求に対して同じ資格情報が返されることを確認する必要があります。 |
項目を参照してください。
参照
IReportServerCredentials
IReportServerConnection2
概念
ReportViewer の Web.config 設定
非同期のレンダリングを ReportViewer を構成します。
サーバー レポートの展開の考慮事項
リモート処理を ReportViewer を構成します。
追加および ReportViewer コントロールを構成します。