8

任意のスクリプトを実行するユーザーがプロセスを停止できないように、動的言語ランタイム (DLR) をホストしたいと思いますか?

DLR ホスティング仕様では、DLR を別の ApplicationDomain でホストする方法について説明しています。これにより、スクリプト ランタイムを破棄してアンロードし、CAS を介して特定の操作を制限できます (たとえば、ファイル システムへのアクセスを制限したり、リフレクションの使用を禁止したりできます)。

しかし、たとえば次のような方法もあります: - スクリプトが使用するメモリの最大量を制限しますか? - スクリプトによって作成されるスレッドの数を制限しますか? - デッドロックされたスクリプトを検出しますか?

SQL サーバー用に開発されたアンマネージ .net ホスティング APIを使用すると、このようなきめ細かな制御が可能になると思います。これが進むべき方向ですか?この種の一般的な .net サンドボックス用のオープン ソース プロジェクトはありますか?

私が見つけたいくつかの潜在的に役立つ参考文献を次に示します。

4

1 に答える 1

3

Terrariumを見てみましょう。これは、.NET 言語で独自の自律的な生き物を作成するゲームであり、記述されているアセンブリと共に他のネットワーク化されたコンピューターにテレポートされます。目標は、あなたの生き物を手に入れることです。他のすべてを殺すか、食料資源を戦略的に管理することにより、生態系全体を乗っ取ります。

私が思い出したように、0.n 秒以上「考える」または n kb のメモリを費やした生物は削除されます。

于 2010-07-16T22:47:06.557 に答える