2

ASP.NETページにVS2005バージョンのReportViewerコントロールがあります。レポートはSQL2008レポートサービスに対して実行され、正しく表示されます。期待どおりに機能する列にインタラクティブな並べ替えがあります...通常は。

より大きな結果セット(100ページを超える)では、並べ替えが停止し、ビューアに「操作がタイムアウトしました」という言葉とともに白い背景が表示されます。皮肉なことに、これは約3秒で実行されます。ServerReport.Timeoutがデフォルトで2000ミリ秒であることがわかったとき、私はそれを持っていると思いましたが、それを30,000ミリ秒に変更しても違いはありませんでした。それはそれがそれほど多くのデータをソートしようとする意志さえ持っていないようです:)これがコードです:

        var rvMain = new ReportViewer {
            EnableViewState = true,
            ProcessingMode = ProcessingMode.Remote,
            ShowRefreshButton = false,
            AsyncRendering = true,
            ShowCredentialPrompts = false,
            ShowDocumentMapButton = true,
            DocumentMapCollapsed = true,
        };
        rvMain.ServerReport.DisplayName = displayName;
        rvMain.ServerReport.ReportPath = reportPath;
        rvMain.ServerReport.Timeout = 30000;

私はさまざまなタイムアウトに関する他の多くの投稿を見てきました。ただし、これはソート時にのみ発生し、大きな結果セットでのみ発生します。任意の提案をいただければ幸いです!

更新:SQL Report Manager Webサイトで直接実行されているレポートで並べ替えが実行されても、並べ替えはタイムアウトしません。

4

1 に答える 1

2

私たちはこれに夢中になっているようです。IReportServerConnection2 1を実装 したのは、セッション状態を使用しておらず、ReportingServiceへの接続に使用される資格情報を制御したかったためです。そのインターフェースの実装では、2000ミリ秒という異常なデフォルトがありました。したがって、インタラクティブソートで発生するラウンドトリップでは、最初のReportViewer作成で設定された値の代わりにそのデフォルトを使用していました。明らかに、IReportServerConnection2の実装でTimeoutの値を上げると、修正されました。

于 2009-11-23T20:26:29.617 に答える