私はASP.NETアプリケーションで作業しており、一部の要求中に顧客スクリプトを呼び出す機能を追加したいと考えています。このスクリプトは信頼できないため、IIS要求内に子AppDomainを作成しています。この要求には、アクセス許可が限定されており、顧客アセンブリとスクリプトランナーアセンブリの両方が読み込まれています。特定の基準が満たされている場合、顧客スクリプトはビジネスオブジェクトの説明を変更するか、ステータスコードをエラーに変更するなどの作業を行うことができます。変更は非常に多様であるため、メソッド呼び出しから返される単一のオブジェクトに変更を含めることはできません。スクリプトが実行されているので、この子を起動したリクエスト内のオブジェクトの値を変更する必要があります。IIS要求内のAppDomains間の双方向通信
このpostは、NetNamedPipeBindingを使用することを推奨していますが、複数のリクエストを同時に実行できるIIS内で動作するコードには適していないと懸念しています。 IISリクエストごとに新しいホストを設定できますか?プロセス全体に静的ホストを設定し、エンドポイントを使用して、正しい子が正しい要求と通話することを確認しますか?これは正しい技術ですか?
これは適切な技術ではない場合、それは何ですか?このpostは、親AppDomainのハンドルを取得する方法を説明していますが、それらの多くはmscoree.dllを使用しているようですが、一般にCOMとIISはあまりうまく混ざらないという印象を受けました。 This postは、最初のAppDomainを消去して新しいAppDomainを作成する方法について話します。おそらく、それはIISでは必要ないでしょうか?
子AppDomainが、それを生成したRequestオブジェクト内のメソッドを効率的に実行する方法はありますか?