0

WCFを学び始めたばかりです。

(リモート)クラスを使用するたびに、サーバーへの要求に変換されるようです(値を設定するだけでも、パラメーターとしてサービスに送信する前に)。

不要なリクエストが多すぎませんか?

この無駄な時間と帯域幅を回避するにはどうすればよいですか?いくつかの値を設定しようとしています。これらのプロパティのSetセクションには、対応するフィールドの値を設定する以外に何もありません。

例えば、

interface IService 
{
   int GetResult(MyComplexType1 input);
}

このサービスを使用するには、最初にMyComplexType1インスタンスを初期化する必要があります。インスタンスは、値を設定するたびにサーバーにリクエストを送信しますMyComplexType1

4

1 に答える 1

2

Webサービスの呼び出しは通常、コード内でコストのかかる呼び出しであるため、設計ではそれを考慮する必要があります。たとえば、次のサービスはあまり効果的ではありません。

public interface ICalculatorService
{
  void SetOperandOne(int value);
  void SetOperandTwo(int value);
  void SetMode(CalculationMode mode);
  int GetResult();
}

一方、次のインターフェイスは、必要な呼び出しを1つに減らします。

public interface ICalculatorService
{
  int GetResult(int operandOne, int operandTwo, CalculationMode mode);
}
于 2012-10-05T15:43:39.013 に答える