1

win2k3 (32 ビット) のセットアップでしばらく ASP.NET チャート コントロールを問題なく使用してきましたが、新しい win2k8 (64 ビット) ボックスでチャート コントロールからイベント ビューアーに警告メッセージが表示されることに気付きました。 .

私の web.config ファイルには、グラフ コントロールに一時ファイルを保存できる場所を示す次のタグがあります。

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />

以下は、コントロールによって生成される警告メッセージです。


イベント コード: 3005 イベント メッセージ: 未処理の例外が発生しました。イベント時間: 10/7/2009 2:40:03 PM イベント時間 (UTC): 10/7/2009 2:40:03 PM イベント ID: 237c3b208962429e8bbc5a48ffd177f0 イベント シーケンス: 2860 イベント発生: 26 イベント詳細コード: 0

アプリケーション情報: アプリケーション ドメイン: /LM/W3SVC/2/ROOT-1-128993655360497729 信頼レベル: フル アプリケーション仮想パス: / アプリケーション パス: C:\data\sites\mydomain.com\ マシン名: 231692-WEB

プロセス情報: プロセス ID: 4068 プロセス名: w3wp.exe アカウント名: NT AUTHORITY\NETWORK SERVICE

例外情報: 例外の種類: ArgumentException 例外メッセージ: 画像が見つかりません。

リクエスト情報: リクエスト URL: http://www.mydomain.com/ChartImg.axd?i=chart_0_3.png&g=bccc8aa11abb470980c60e8cf1e71e15 リクエストパス: /ChartImg.axd ユーザーホストアドレス: my domain ip ユーザー:
認証済み: False 認証タイプ:
スレッド アカウント名: NT AUTHORITY\NETWORK SERVICE

スレッド情報: スレッド ID: 7 スレッド アカウント名: NT AUTHORITY\NETWORK SERVICE 偽装: False スタック トレース: System.Web.UI.DataVisualization.Charting.ChartHttpHandler.ProcessSavedChartImage(HttpContext コンテキスト) で System.Web.UI.DataVisualization. Charting.ChartHttpHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext コンテキスト) で System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() で System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値および completedSynchronously)


すべてのチャート画像が画面に正しく表示されることを指摘する価値があるので、画像が見つからないというエラーがいつ/どこで発生するのかわかりません. これは 64 ビットの問題ですか?

ありがとう、リッチ

4

4 に答える 4

1

ユーザーがグラフを IE から Word 文書にコピーまたはドラッグしようとするたびに、同じエラーが発生しました。デフォルトでは、チャート画像がユーザーのブラウザに配信された直後にサーバーがチャート画像を削除し、IE はキャッシュされた画像データをコピーしないようです。その背後にあるメカニズムはわかりませんが、コピーまたは貼り付けのいずれかで、画像をサーバーから再度取得する必要があります。この問題は、web.config のエントリを次のように変更することで解決されました。

<add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;deleteAfterServicing=false;" />
于 2010-05-03T17:42:43.867 に答える
0

これをネイティブIIS7サイトで実行していますか、それともASP.NET 2.0互換モードで実行されているIIS7サイトで実行していますか?

IISがロギングを少し冗長にしている、または問題があることをロギングしてから、レガシーサポートタイプモードにフォールバックしている可能性があります-.axdファイルは、通常はディスク上に存在しない仮想ファイルです。 web.configでハンドラーとしてマップされます-IIS7が<system.webServer>要素をサポートするようになり、ハンドラーはセクションではなく、新しいサイト用にそこにマップされる必要があることに注意してください<system.web>

于 2009-10-07T16:15:00.747 に答える
0

私の経験では、ユーザーが web.config で deleteAfterServicing が false でない場合に Web ページを印刷しようとすると、このエラー メッセージが表示されます。これは、画像が削除されているためです。

また、deleteAfterServicing=false の場合、user1 がチャートを生成し、次に user2 がチャート イメージを上書きするチャートを生成すると、user2 は正常にチャートを印刷できますが、user1 は例外をトリガーします。

于 2010-05-06T17:31:44.530 に答える
0

この問題を 1 週間かけて調査しましたが、イベント ビューアーに警告メッセージが表示される理由について誰も答えがないようです。

メインの MS Chart フォーラムでもこの質問をしましたが、うまくいきませんでした。リンクはこちら: http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/75f50254-0f02-4a73-bfbe-afab31f15f77

質問を閉じるためだけに回答済みとしてマークしますが、回答が見つかった場合は将来更新します。もっと多くの人に起こっていると思いますが、フロントエンドのすべてが問題ないように見えるため、ログを実際にチェックする人は誰もいないため、自分に起こっていることに気付かない可能性があります.

于 2009-10-11T19:24:09.253 に答える