私はAzureで動作するMVC Webアプリケーションを持っています。 Microsoft.Reporting.WebForms.LocalReport
のインスタンスを使用して、Webアプリケーションが使用しているデータベースに対してレポートを実行しています。いくつかのデータセットは非常に大きく、レンダリングには非常に時間がかかることがあります。そのため、レポートのレンダリングを別のApp ServiceにWeb Jobとしてオフロードすることに決めました。アプリケーションは、私の開発環境では正しく動作しますが、それはウェブジョブとしてアップロードされたとき、それはウェブ・ジョブ・ログに以下の例外を除いてクラッシュ:Azure WebジョブでのLocalReportレンダリング
[10/30/2017 17:16:48 > 81a023: ERR ] Unhandled Exception: Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. ---> Microsoft.Reporting.DefinitionInvalidException: The definition of the report '' is invalid. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. ---> System.TypeInitializationException: The type initializer for 'Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatVersion' threw an exception. ---> System.ArgumentException: The path is not of a legal form.
[10/30/2017 17:16:48 > 81a023: ERR ] at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
[10/30/2017 17:16:48 > 81a023: ERR ] at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
[10/30/2017 17:16:48 > 81a023: ERR ] at System.IO.Path.GetFullPathInternal(String path)
[10/30/2017 17:16:48 > 81a023: ERR ] at System.IO.Path.GetFullPath(String path)
[10/30/2017 17:16:48 > 81a023: ERR ] at System.Diagnostics.FileVersionInfo.GetFullPathWithAssert(String fileName)
[10/30/2017 17:16:48 > 81a023: ERR ] at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
[10/30/2017 17:16:48 > 81a023: ERR ] at Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatVersion.<>c__DisplayClass1.<.cctor>b__0()
[10/30/2017 17:16:48 > 81a023: ERR ] at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state)
[10/30/2017 17:16:48 > 81a023: ERR ] at System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)
[10/30/2017 17:16:48 > 81a023: ERR ] at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
[10/30/2017 17:16:48 > 81a023: ERR ] at Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.IntermediateFormatVersion..cctor()
LocalReport.Render()
メソッドが呼び出されたときにエラーがスローされます。
レポート定義はデータベース内のテーブルから読み取られるため、レポートを変更する必要がある場合は、再コンパイルや再発行は必要ありません。
私の質問は、どうしてこれが起こっているのですか、それをどうやって修正するのですか?
ありがとうございます。