ReportViewer コントロール (ReportViewer バージョン: 2010 SP1) と LocalReport オプション (.rdlc ファイルを使用) を使用して、プロジェクトにレポートを表示します。ReportViewer コントロールのデータを Excel ファイルにエクスポートすると、「リモート ホストが接続を閉じました。エラー コードは 0x800704CD です」というエラー メッセージが表示されました。ReportViewer コントロールに含まれるデータは非常に大きく、25,000 を超えるレコードがあり、各レコードには 23 列あります。
Excel エクスポート リンクをクリックしてから IE エラー ページが表示されるまでの期間は 10 分です。テストを複数回繰り返しましたが、結果は同じです。そのため、これは Web アプリケーションのタイムアウト構成が原因である可能性があると考えました。したがって、httpRuntime/executionTimeout (明らかに Web のデバッグ モードを false に設定)、セッション タイムアウト、およびフォーム認証 Cookie タイムアウトを 1 時間に設定しましたが、結果は同じです (10 分後にエラー ページが表示されました)。
この問題の原因を知っていますか? 助けていただけますか?
以下は、私が得たエラーの詳細です。
例外情報:
例外の種類: HttpException
例外メッセージ: リモート ホストが接続を閉じました。エラー コードは 0x800704CD です。
System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError (Int32 結果、ブール値の throwOnDisconnect)
で System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush()
で System.Web.HttpResponse.Flush (ブール値の finalFlush)
で System.Web.HttpWriter.WriteFromStream ( Byte[] データ、Int32 オフセット、Int32 サイズ)
Microsoft.Reporting.WebForms.ReportDataOperation.StreamToResponse(ストリーム データ、HttpResponse 応答)
で Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection urlQuery、HttpResponse 応答)
Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest (HttpContext コンテキスト)
で System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
で System.Web.HttpApplication.ExecuteStep (IExecutionStep ステップ、ブール値 & completedSynchronously)
要請情報:
Request URL: http://example.com/Reserved.ReportViewerWebControl.axd?Culture=2057&CultureOverrides=True&UICulture=2057&UICultureOverrides=True&ReportStack=1&ControlID=44d295a585a8483984f0f7606a3d7fa5&Mode=true&OpType=Export&FileName=Invoice_&_Order_List_Report_20130801032657&ContentDisposition=OnlyHtmlInline&Format=Excel
Request path: /app_virtual_dir/Reserved.ReportViewerWebControl. axd
ユーザー ホスト アドレス: xxx
ユーザー: xxx
認証済み: True
認証の種類: フォーム
スレッド アカウント名: IIS APPPOOL\xxx