0

バックグラウンドDB操作用にWindowsサービスをホストしているWCFがあります。クライアント部分用に個別のWindowsサービスを作成する代わりに、タイマー付きの同じWindowsサービスにもクライアント部分を含めました。このアプローチには欠点があることを知りたいと思います。

4

2 に答える 2

2

@Kekに同意する必要があります。外部の呼び出し元がいない場合にWCFサービスを使用する理由:)2つのWindowsサービスを使用する場合と比較して実際の欠点がないことを除けば、使用するメモリが少なく、管理するサービスが1つだけです(開始、停止など)。

于 2012-12-20T14:36:22.670 に答える
1

ほとんどの場合、@Tommy Grovnes に同意します。物事が正しく行われていれば、問題はありません。ただし、次のことを指摘したいと思います。

サービスとクライアントが同じプロセスにある場合、確かに後者は前者に依存します...そして、(実際にはWCFを使用せずに)サービスメソッドを直接呼び出したくなるかもしれません...そうしないようにしてください。

その場合、データはシリアル化されません。そのため高速ですが、別のプロセスのクライアントと比較してまったく同じように動作しない場合があります。

これは、EF セルフ トラッキング エンティティなどのメカニズムを使用する場合に特に当てはまります。これらのエンティティは、逆シリアル化されると状態が変わります。シリアル化を回避すると、実際に別のプロセスからサービスを呼び出したときに予期しないエラーが発生する可能性があります。

于 2012-12-21T07:26:37.613 に答える