0

それぞれが独自のアプリ ドメインで実行されている複数の個別のアプリケーションの上にあるアプリケーションがあります。2 つの異なるアプリケーションがポート 80 を使用して Web トラフィックを処理する必要が生じています。親ドメインでネットワーク オープン リクエストをキャプチャし、ネットワーク トラフィックを管理して、必要に応じて各ドメインにデータを渡す方法はありますか? それらは私が検討すべき代替アーキテクチャですか?

4

1 に答える 1

0

親ドメインで開かれたリクエストをキャプチャし、MarshalByRefObject を継承するクラスでラップできます。このようなクラスへの参照は、別の AppDomain に簡単に移動できます。

AppDomains 間で渡されるすべてのクラス (メソッド パラメーター、返される結果、EventArgs など) をラップする必要があることに注意してください。

例えば:

class Connection : MarshalByRefObject
{
    event ReceivedDataEventHandler ReceivedData;

    void Send(byte[] b)
    {
        // ...
    }
}

class ReceivedDataEventArgs : MarshalByRefObject
{
    public string Data { get; }
}

delegate void ReceivedDataEventHandler(object sender, ReceivedDataEventArgs e);
于 2013-11-27T07:58:22.997 に答える