2

サーバーの再起動後、次のようなランダムな CompilationException エラーが発生することがあります。

CompilationException: CS0006: Metadata file `/tmp/apache-temp-aspnet-0/ca373c84/assembly/shadow/10cad1cb/02cb7ade_1201ab15_00000001/ZedGraph.dll' could not be found -> HttpException: Single file build failed

そして、アプリケーションにアクセスできません。サーバーを再起動すると、問題はなくなります。

エラーを引き起こすファイルは、自分の dll の 1 つまたは依存関係 (たとえば mysql.dll など) である可能性があります。

Linode VPS で mono 2.10.2、CentOS リリース 5.7 (Final)、Apache、および mod_mono を使用しています。

何が原因である可能性がありますか?

編集: Linode に移行して XEN を使用しているときに問題が発生したため、有望に見えるオプション --with-xen_opt=yes を見つけました: http://mono-project.com/Advanced_Mono_Compile_Options

4

3 に答える 3

2

シャドウ コピーとコンパイルのバグ (競合状態?) のように聞こえます。以前に見つかって修正されたものは他にもあります... http://grendello.blogspot.com/2007/08/new-modmono-and-xsp-developments.htmlを参照してください

そして、これは 2006 年の同様の問題の報告ですhttp://lists.ximian.com/pipermail/mono-list/2006-March/030970.html

システムを再起動する代わりに、apache を再起動してみてください。注意してください、再起動ではなく、Apacheを停止してから起動することが役立つことがわかりました。

mod_mono コントロール パネルを有効にして、そこからアプリケーションを再起動することもできます。これをapache configに追加します。

<Location /monocp>
  SetHandler mono-ctrl
  Order deny,allow
  Deny from all
  Allow from 127.0.0.1 <YOURIP>
</Location>

このプロセスを自動化するには、Monitを参照してください。

于 2012-01-23T14:05:36.460 に答える
0

問題は、XEN 仮想化と mono プリコンパイル済みバイナリが原因のようです。オプション --with-xen_opt=yes を指定して mono をコンパイルしましたが、XSP をコンパイルできなかったため、確実に解決したかどうかをテストできませんでしたが、まったく同じアプリケーションを専用サーバーに移動し、200 万回のリクエストを送信した後エラーは発生しませんでした。

更新:マフムードの回答を確認してください

于 2012-02-09T15:10:02.430 に答える
0

FWIW、仮想化のない専用サーバー (8 コア i7、x86 Ubuntu Server Edition) でまったく同じ問題が発生したため、これが Xen に起因する問題であるとは考えていません。OP (SCL) またはこの問題を抱えている他の人については、Mono/Xamarin にバグ レポートを提出するだけでなく、別の SO 投稿で回避策を文書化しました。

競合状態のようですが、仮想化とは関係ありません。

于 2012-04-25T05:06:02.417 に答える