避免需要做很多服务电话

时间:2012-10-05 15:15:03

标签: c# wcf

我刚开始学习WCF。

似乎每个(远程)类的使用都被转换为对服务器的请求(甚至只是在将它们作为参数发送到服务之前设置值)。

这不会导致太多不必要的请求吗?

我能做些什么可以避免浪费时间和时间。带宽?我只想设置一些值。这些属性的Set部分只有设置相应字段的值。

例如,

interface IService 
{
   int GetResult(MyComplexType1 input);
}

要使用此服务,我必须首先初始化MyComplexType1实例,每当我设置MyComplexType1的任何值时,都会向服务器发出请求。

1 个答案:

答案 0 :(得分:2)

在您的代码中调用Web服务通常是一项昂贵的调用,因此您的设计需要考虑这一点。例如,以下服务不会非常有效:

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

以下界面减少了一个所需的调用:

public interface ICalculatorService
{
  int GetResult(int operandOne, int operandTwo, CalculationMode mode);
}