0

コードを整理しようとしています。サービス層、つまり DLL への参照を持つプロジェクトがいくつかあります。これが意味することは、新しいサービス レイヤーを配布するときに、通常は同じ多数のサービス レイヤーをアップロードする必要があるということです。

もちろん、ADD Reference を使用すると、あるアセンブリが別のアセンブリと通信するため、非常に高速です...

別の方法の長所と短所を知りたかった..

Web サービス/wcf を使用してサービス レイヤーをラップできますが、これはオブジェクトを無効にするものではありません..

速度についてはどうでしょうか。デスクトップ アプリケーションは、アセンブリ参照にアクセスする代わりに、Web サービス/wcf を呼び出す必要がありますか??

私のサービスレイヤーはもちろん私のデータレイヤーと通信し、クライアントはデータレイヤーと直接通信することはありません..

私のビジネスロジックがいくつかのアプリ間で共有されているサービスレイヤーの問題です..

デスクトップ アプリ、2 つの Web サイト、2 つの wcf プロジェクト (Web サービスとして使用)

コードを繰り返さずに最速のシナリオを達成する方法についてのアドバイス。つまり、現在行っていることに影響します。

各アプリ (デスクトップ、Web サイト、wcf) は同じ DLL にコピーがあり、参照があります (vs 2008 で参照を追加します) ..

アイデア?

4

2 に答える 2

0

WCF(.net remoting、msmqなどをまとめたもの)を使用するのが最も効果的だと思います。そうすれば、各プログラムでdllをコピーする必要はありません...それらはWCFサービスを指すだけです。このタイプのサービス指向アーキテクチャーは、あなたが説明しているものに最適です。

これまでのWCFの経験から、特に内部ネットワークでのパフォーマンスの低下には気づいていません。

WCFの概要は次のとおりです。http://msdn.microsoft.com/en-us/library/aa480210.aspx

お役に立てれば!

于 2009-07-06T01:43:52.470 に答える
0

ほとんどのアプリを単一のホストにデプロイする場合は、中間層を GAC で公開することを選択し、適切なバージョン ポリシーを提供します。

分散環境にアプリをデプロイする場合は、.NET remoting/WS/WCF を使用します。あなたのシナリオでは、リモーティングが最速の選択肢になると思います。

于 2009-07-05T22:50:46.133 に答える