2009-07-04 7 views
0

私のコードをきちんと整理しようとしています。私は自分のサービス層への参照、すなわちDLLを持ついくつかのプロジェクトを持っています。これが意味することは、私が新しいサービス層を配布するとき、私は一般的に同じサービス層の数をアップロードする必要があるということです。私のリポジトリ(リポジトリパターン)を他のプロジェクト(.NET)と共有していますか?

もちろん、ADD参照を使用することは、 。

私は私のサービス層をラップするWebサービス/ WCFを使用することができ

..別の方法の長所と短所を知りたいと思ったが、これは、オブジェクトを破っていません。..

そして、スピードについては、今では私のデスクトップアプリケーションは、アセンブリ参照にアクセスするのではなく、Webサービス/ wcfを呼び出す必要がありますか?もちろん、私のデータ層と直接データ層に話しnevere私のクライアントへ

私のサービス層会談...

その私のビジネス・ロジックは、番号の間で共有されているあるサービス層の問題アプリケーションの..

デスクトップアプリ、2×ウェブサイト、(Webサービスとして使用)2×WCFプロジェクト

私は私がどのような効果である私のコードを繰り返すことなく、最速の可能性のscenerioを達成できる方法上の任意のアドバイス今すぐやります。

各アプリケーション(デスクトップ、ウェブサイト、wcf)には、同じDLLにコピーがあり、参照があります(2008年の参照を追加してください)。

アイデア?

+0

@mark:なぜサービス層を更新するときに何かをアップロードする必要がありますか?それを使用しているアプリケーションは、準備ができたらそれ以降のバージョンを取得する必要があります。彼らはあなたの新しいリリースで最初にテストしたくないですか? –

+0

ありがとう、しかし、ポイントはすべてのクライアントが私の作品なので、私はそれが動作することを知っている、私はそれをテスト...しかし、今私は様々な場所にDLLをアップロードしている - その重複したコード.. WCFなどでサービスレイヤー(レポジトリパターン)をラップしますが、速度などが心配です。 –

+0

@market:すべてのクライアントが同じデータベースを指していますか? (実際には問題ではないかもしれませんが) –

答えて

0

私はあなたがWCF(.net remoting、msmqなどを包括する)を使用することによって最も効果的だと思います。次に、各プログラムでdllをコピーする必要はありません。彼らはWCFサービスを指すことができます。このタイプのサービス指向アーキテクチャーは、あなたが記述しているものに最適です。

これまでのWCFでの経験から、特に社内ネットワークでのパフォーマンスヒットは気付きませんでした。ここで

は、WCFの良い概要です:http://msdn.microsoft.com/en-us/library/aa480210.aspx

は、この情報がお役に立てば幸い!

0

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

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

関連する問題