Chaque invocation de getMyInt serait sa propre conversation séparée, avec un peu de surcharge à chaque appel. Donc non, ce ne serait pas une bonne implémentation si vous aviez en fait une boucle qui invoquait rapidement 1000 fois d'affilée getMyInt. Cependant, comme votre exemple est un peu artificiel (il n'atteint/ne renvoie rien), il est difficile de suggérer la meilleure façon de l'améliorer.
Modifier: Je peux voir à partir de vos modifications que vous avez une liste d'objets contenant deux propriétés. Vous utilisez le service Web pour dériver l'une des valeurs de l'autre. Par conséquent, la manière la plus optimale de résoudre ce problème, serait de passer toutes les valeurs au service Web à la fois, comme suit:
List<TList> MyList ; // contains 1000 rows
MyWCFclient svc = new MyWCFclient;
var field2Values = MyList.Select(x => x.field2inMyList).ToArray();
var field1Values = svc.getCalc(field2Values);
for (int i = 0; i < field1Values.Length; i++)
{
MyList[i].field1inMyList = field1Values[i];
}
svc.Close();
Les deux field2Values
et field1Values
sont des tableaux et il n'y a qu'un seul appel à le service WCF.
Kirk voir mon code j'ai mis à jour .. Thnak vous pour votre aide – user450191
@ user450191, a modifié la réponse en fonction de vos modifications. –