2012-03-21 243 views
1

私はASP .NET MVC 3フレームワークを使用してWebアプリケーションを開発しています。
CrystalReportViewerコントロールを含むASPXページを実装しました。ASP .NET + IIS + Crystal Reports +レポートのロードに失敗しました

私のASPXページのPage_LoadイベントメソッドでReportDocumentオブジェクトをインスタンス化します。
次に、ReportDocumentのLoadメソッドを使用してRPTファイルを読み込みます。

VS2010開発用Webサーバーを使用するとRPTが正しく読み込まれ、ビューアーから表示できます。
私のIIS 5.1ローカルWebサーバーを使用すると、ReportDocumentのLoadメソッドを呼び出すと例外が発生します。ここで

は例外に関するいくつかの情報です:

  • 例外タイプ:CrystalReportsException
  • メッセージ:負荷レポートが
  • のStackTrace失敗しました:CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpenedà

    を()
    àCrystalDecisions.CrystalReports.Engine.ReportDocument.Load(文字列ファイル名、OpenReportMetho D openMethod、Int16型parentJob)Å
    はCrystalDecisions.CrystalReports.Engine.ReportDocument.Load(文字列のファイル名)ASP.aspnetforms_editionresultats_aspx.Page_Load(オブジェクト送信者は、A
    がいるEventArgs e)の.aspxのDANS:System.WebのàLIGNE 43
    を。 Util.CalliHelper.EventArgFunctionCaller(のIntPtr FP、オブジェクトOは、オブジェクトT、のEventArgs電子)は、A
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(オブジェクト送信者、のEventArgs電子)System.Web.UI.Control.OnLoadà
    ( EventArgs e)
    àSystem.Web.UI.Control.LoadRecursive()
    àSystem.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean inclu deStagesAfterAsyncPoint)

IISを使用すると例外が発生する理由を知っていますか?

+0

最初の提案:コードをPage_Initに移動してみてください –

+0

サーバーに正しいCrystalランタイムがインストールされていますか?(バージョンとアーキテクチャ) –

+0

@EmanueleGreco:コードをPage_Initイベントメソッドに移動しようとしましたが、まだ例外に直面しています。 – user1139666

答えて

2

これが私の作品:

protected void Page_UnLoad(object sender, EventArgs e) 
{ 

     this.CrystalReportViewer1.Dispose(); 
     this.CrystalReportViewer1 = null; 
     // CrystalReportViewer1.Close(); 
     // CrystalReportViewer1.Dispose(); 
     GC.Collect(); 

} 
protected void Button1_Click(object sender, EventArgs e) 
{ 
    ReportDocument cryRpt = new ReportDocument(); 
    cryRpt.Load("C:\\inetpub\\wwwroot\\CrystalReportDemo\\CrystalReport.rpt"); 
    CrystalReportViewer1.ReportSource = cryRpt; 
    CrystalReportViewer1.RefreshReport(); 
} 

}

0

私は同じ問題に直面し、私が解決しなかった問題を「負荷レポートに失敗しました」。

  1. まず、asp.netプロジェクトを公開した後に、レポートフォルダが存在するかどうか、または.rptファイルがプロジェクトフォルダにあるかどうかを確認します。私は単純に私のプロジェクトフォルダ全体をIISのルートディレクトリに配置しました。私はエラーを起こさない 'Reports'フォルダ内の私のレポートを使用しています。
  2. 次に、C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13” into your project main folder like C:\inetpub\wwwroot\YourProjectFolder\をコピーします。

これが機能しない場合は、ご意見ください。

関連する問題