2

これまでのところ、このプロジェクトでは VS2008/BIDS で 2 つのレポートを作成しています。最初のものには 1 つの Tablix が含まれており、約 100k です。2 つ目は 3 つのタブリックス (テーブル?) を含み、約 257k です。VS から小さなレポートを正常に展開でき、IE のレポート マネージャーからアップロードできます。レポート マネージャーから表示/実行でき、ブラウザーからレポート サーバー (Web サービス) の URL に問題なくアクセスできます。すべてが HTTPS 経由で行われ、証明書に問題はありません。

より大きなレポートでは、約 100 秒後に VS で「操作がタイムアウトしました」というエラーが表示されます。IE からアップロードすると、約 130 秒後に「基になる接続が閉じられました: 送信時に予期しないエラーが発生しました」というエラーが表示されます。

RSReportServer.config ファイルで、Authentication/EnableAuthPersistence を true から false に変更してサービスを再起動しようとしましたが、それでもエラーが発生します。キー「SecureConnectionLevel」を 2 に設定しています。これを 0 に変更して SSL をオフにすることはできません。「MaxRequestBytes」という名前のレジストリ キーを HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters に追加して 5242880 (5MB) に設定し、MSFT の Jin Chen によるフォーラムの投稿で提案されているように、HTTP および SRS サービスを再起動しました。

大きなレポートをまだアップロードできません。これは MS SQL 2008 および WS 2003 上にあります。以下は、IE からアップロードしようとしたときの ...\Reporting Services\LogFiles からのログ ファイル エントリの一部です。

library!WindowsService_0!89c!02/10/2010-07:57:57:: i 情報: CleanBatch() の呼び出しが終了します
ui!ReportManager_0-1!438!02/10/2010-07:59:33:: e エラー: 基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。
ui!ReportManager_0-1!438!02/10/2010-07:59:34:: e エラー: HTTP ステータス コード --> 500
-  -  - -詳細 -  -  -  - 
System.Net.WebException: 基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。
---> System.IO.IOException: トランスポート接続にデータを書き込めません: 確立された接続が、ホスト マシンのソフトウェアによって中止されました。
---> System.Net.Sockets.SocketException: 確立された接続がホスト マシンのソフトウェアによって中止されました
   System.Net.Sockets.Socket.MultipleSend (BufferOffsetSize[] バッファー、SocketFlags socketFlags) で
   System.Net.Sockets.NetworkStream.MultipleWrite (BufferOffsetSize[] バッファー) で
   --- 内部例外スタック トレースの終了 ---
   ...
4

1 に答える 1

6

私はこれを理解したと思います。リクエストの最大バイト数の増加に関するブログ エントリでは、「MaxRequestBytes」という名前のレジストリ キーを HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters に追加するように記載されており、これを行ってから、適切なサービスを再起動しました。私はまだ問題を抱えていたので、解決策を探し続けました。結局のところ、「MaxRequestBytes」はレジストリ キーとしてではなく、DWORD 値として追加する必要があります。詳細については、IIS の Http.sys レジストリ設定を参照してください。MaxRequestLength のデフォルト値は 16384 で、最大値は 16777216 (16 MB) です。私は 1048576 (1 MB) に設定しています。

もう 1 つ調べたのは、C:\Program Files\Microsoft SQL Server\MSRS10.SWA\Reporting Services\ReportServer\web.config の < httpRuntime の maxRequestLength 属性で、既定値は 4096 KB (4 MB) です。十分大きい。参照: < httpRuntime> 要素

最後に、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableTCPChimney が既に 0 に設定されていることを確認しました。

MaxRequestLength レジストリを変更した後、別の理由でサーバーが再起動されましたが、より大きなレポートを含むすべてのレポートをすべて HTTPS 経由でアップロードできるようになりました。

于 2010-02-17T21:13:01.873 に答える