3

問題 (および不要な情報): C# (chatterbot ではない) でチャット ボットを作成しており、ユーザーがボットでカスタム コードを実行できるようにしたいと考えています。基本的に、ネットワーク経由で文字列メッセージを送信すると、ボットはそれに含まれるコードを実行します。

私はCSharpCodeProviderを調べて実際に実装/使用しましたが、これにはカスタムコードがコンパイルされるたびに別のアセンブリがAppDomainに追加されるという問題があります(これは削除できません)。単一の有効期間内に数十または数百の個別のカスタム コード呼び出しが発生する可能性があることを考慮すると、これは問題になります。

私の考えでは、C# から呼び出すことができるインタープリター言語またはそのようなものが存在する可能性があります。

4

1 に答える 1

2

appdomain 全体を削除すると、アセンブリを削除できます。したがって、新しい appdomain を作成し、そこにアセンブリをロード (またはそこからコンパイル) し、使用後に破棄することができます。

サイクルにかかる(短い)時間を償却するために、100ステートメントごとにappdomainをリサイクルできます。

于 2012-07-26T23:42:46.437 に答える