SvcUtil
génère une classe proxy et un fichier de configuration qui spécifie des éléments tels que les liaisons utilisées par le service, les informations de sécurité, les quotas de lecture, l'adresse du service, le contrat, etc SvcUtil
génère les métadonnées, le code de sérialisation etc. Vous exécutez SvcUtil
sur l'ordinateur de service et les deux fichiers qu'il vous donne (classe de proxy et fichier de configuration) peuvent être utilisés pour créer des clients sur différentes machines.
Généralement, ceux-ci sont également générés par la fonction «ajouter une référence de service» du studio visuel, de sorte que vous n'avez pas vraiment besoin d'utiliser SvcUtil. Visual Studio utilise en réalité SvcUtil
derrière les scènes pour générer le proxy client, il semble donc un peu moins compliqué d'utiliser Visual Studio pour générer des proxys clients. En termes SOA, certains soutiennent que générer des clients manuellement en utilisant SvcUtil ou Visual Studio n'est pas une bonne pratique, car ces outils génèrent du code inutile avec trop de couplage et ne vous donnent pas beaucoup de flexibilité. Vous pouvez séparer vos assemblys, tels que vos services, contarcts, proxies, etc. et créer des canaux de service à l'aide de la classe ChannelFactory
. This nice article est un partisan de cette dernière pratique de générer des procurations client.