2008-10-21 6 views

Répondre

1

Comme le fait remarquer John, ce n'est vraiment pas différent d'un appel de bureau. Vous pouvez généralement ajouter une référence au service à partir de l'EDI et laisser Studio générer l'encapsuleur, ou vous pouvez l'extraire manuellement. Votre cas peut être légèrement différent si vous essayez de passer un DataSet fortement typé car la sérialisation du bureau peut ne pas correspondre à ce que le périphérique souhaite pour la désérialisation. Cela dépend vraiment de votre scénario d'utilisation exacte. Quel que soit votre mécanisme d'appel, une chose à noter est que les appels de service Web CF ralentissent péniblement la génération du proxy. Le proxy est mis en cache, mais peut encore prendre plusieurs secondes sur le premier appel à retourner. Une bonne pratique consiste à demander au service Web d'exposer une méthode factice simple (ou une méthode réelle si applicable) qui ne fait rien mais peut-être retourner un type blittable. Lorsque l'application se déclenche, lancez un thread de travail pour appeler cette méthode, qui à son tour génèrera le proxy. Ensuite, lorsque vous devez appeler le service pour des données réelles, le temps est consacré uniquement à l'appel, sans générer le proxy.

0

J'ai toujours utilisé les classes WebRequest/WebResponse; ou les classes HttpWebRequest/HttpWebResponse si vous le souhaitez. Ils sont un peu fastidieux à utiliser et pas tout à fait aussi bien que la classe complète WebClient des frameworks, mais ils fonctionnent.

Questions connexes