1

私は3層のアプリケーションを持っています。第 1 層と第 2 層は、リモーティングを介して相互に通信します。

さらに、1 層と 2 層で参照される 1 つの共通アセンブリがあるとします。2 層は、その共通アセンブリのクラスを 1 層に戻します。

したがって、このシナリオでは、両方のレイヤー (1 と 2) が共通のアセンブリを参照している必要があります。

質問(おそらくばかげている)は...すべてのクラスがメイン名前空間を参照するように、返される型(名前空間)を(2層から1層に)オンザフライで変更することは可能ですか。

一般的には、すべてのクラスを 1 つのアセンブリ (1 層) にパックして、実行可能ファイルを 1 つだけ持つことができるようにすることです... 外部アセンブリを取り除きたいだけです。

4

1 に答える 1

1

.Net Remoting を使用する場合、共通アセンブリを参照する必要があります。

作成後にオブジェクトの名前空間を変更することはできません。オブジェクトを、構造は同じだが名前空間が異なる新しいオブジェクトにマップできます。ただし、これによって元のオブジェクトで dll を参照する必要が減るわけではありません。

可能であれば、Remoting から WCF への移行を開始する必要があります。

于 2012-04-21T17:34:31.167 に答える