4

Actionいくつかのオブジェクトをキューに入れ、それぞれを介してスレッドプールが機能している状況がありますAction。ただし、キューが空になる前にアプリケーションがシャットダウンした場合は、閉じる前にキューに残っているものをログに記録したいと思います。

Actionオブジェクトからメソッド本体を取得することは可能ですか?MethodBodyからオブジェクトを見ることができますがAction.Method.GetMethodBody()、これを文字列として取得する方法がわかりません。

何か考えがありますか、それとも私は夢中ですか?

編集:もう1つ。状態情報も残しておきたいです。つまり、内で使用される変数の値も保持したいと思いますAction

4

2 に答える 2

4

はい、あなたは夢中です。

実行中のコードはILにコンパイルされ、次にJITがマシンコードにコンパイルされています。アクションのテキストはずっとなくなっています。

アクションをキューに入れる必要はありません。代わりに、アクションとメソッド名、およびログに記録するその他の情報を含む構造を作成します。アクションの代わりにそれらのキューを作成します。

于 2011-01-29T01:53:58.660 に答える
3

あなたはテキスト表現を探しているのではなく、式ツリーをロードして保存する方法を探していると思います。私もその問題に遭遇しました、そして私はまだそれを使用していませんでしたが、これは有望なようです:式ツリーのシリアル化

于 2011-01-28T22:44:00.013 に答える