1

名前付きパイプのWCFサービスを使用しています。このサービスには約1000のメソッドがあります(そうです、それは良い習慣ではないことはわかっていますが、それは人生です...)。

私が得た問題は、WCFサービスを起動するときに、ServiceHostクラスのコンストラクターで約10秒かかることです。それを追跡することで、サービスの説明(クラスInitializeDescriptionのメソッド)の準備に時間が費やされていることがわかりました。ServiceHostBaseこのサービス契約で定義されているメソッドが多すぎるためだと思います。

この大きなサービス契約の開始時間をどのようにスピードアップできるか、誰でも答えることができますか?

1つのサービス契約でこれほど多くのメソッドを定義するのは良い習慣ではないことを私は知っています。しかし、私はサービス契約を変更することはできません(いくつかの小さなものに分割するなど)。あなたが知っている、これは現実の生活です...

ありがとう。

4

1 に答える 1

1

このエンドポイントのリファクタリングは、プロセスを適切に管理すれば、簡単ではありませんが、おそらくかなり簡単です。

  1. エンドポイントが現在サポートしている論理的なビジネス ケースを 1 つ選択します。
  2. この単一の論理的なビジネス オペレーションを実行するために必要なすべてのオペレーションのリストを作成します。
  3. 同じ操作シグネチャを維持しながら、これらの操作のみに新しいエンドポイントを作成します。
  4. このビジネスケースを実現したい既存の消費者を新しいエンドポイントに再ポイントします。
  5. すべてのビジネス ケースを網羅するまで、このプロセスを繰り返します。

これは元の質問に直接対応していないことをお詫びします。この規模での再作業は、現在の開発の範囲外である可能性があります。

于 2012-06-15T12:32:14.587 に答える