2012-05-18 5 views
0

Je veux juste savoir ce qui se passe derrière le vu lorsque nous créons un service wcf dans un projet et ajouter une référence de service dans un autre projet. Donc pour le savoir je fais tout cela sans Visual Studio, c'est-à-dire en écrivant du code de service dans des fichiers de bloc-notes et en utilisant la ligne de commande pour exécuter svcutil.exe. Ma question est de savoir si je dois exécuter svcutil des deux côtés (côté service et côté client) pour exporter et importer les métadonnées? Et quels fichiers au minimum sont générés par svcutil.exe.Quels sont les fichiers générés par SVCUTIL.EXE

Merci amis.

Répondre

2

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.

Questions connexes