7
votes

Quelle est l'importance de imetadataexchange dans la WCF?

Quelle est l'utilisation et l'importance de imetadataexchange dans wcf?

J'ai le fichier app.config suivant dans lequel je n'utilise pas iMetaDataExchange point final, mais je suis toujours capable de créer mon client proxy. J'ai lu que si je n'utilise pas iMetaDataExchange point final, AddServiceReference ne fonctionnera pas car mon service n'expose pas les métadonnées. Comment fonctionne-t-il sans exposer iMetaDataExchange point final? xxx

wcf

0 commentaires

4 Réponses :



12
votes

Arsenmkrt a la réponse formelle. Mettre plus simplement:

  • Si vous ne l'avez pas, l'ajout d'une référence de service ne fonctionnera pas
  • Vous devez le supprimer des serveurs de production, de sorte qu'un pirate informatique ne puisse pas ajouter de référence de service

    Pour répondre à votre question plus précisément, vous avez cette ligne sur votre service: xxx

    qui pointe sur cette configuration xxx

    C'est peut-être la raison pour laquelle cela fonctionne toujours, bien que je pensais que vous aviez besoin de spécifier le point final MEX.


3 commentaires

+1 Exactement - pas de métadonnées -> Pas moyen de découvrir ce que les offres de service, dans ce cas, vous aurez besoin d'un client proxy "pré-formulé" en tant que code ou autre pour vous connecter au service.


+1 pour "• Vous devez le supprimer des serveurs de production, de sorte qu'un pirate informatique ne puisse pas faire de référence de service"


Empêcher un pirate informatique d'ajouter une référence de service n'empêchera pas le pirate informatique d'appeler / abuser / frauder votre service.



6
votes

La différence est la suivante: xxx

vous permet de récupérer des métadonnées à l'aide du Http protocole. xxx

vous permet de récupérer des métadonnées à l'aide du protocole WS-MetaData.

juste Travaux, mais tous les clients ne peuvent pas vous appeler (car ils ne peuvent pas récupérer des métadonnées pour créer un proxy).

La norme consiste à publier les deux.

Voir aussi Classe de servicemetaBehavior (MSDN).


1 commentaires

C'est une excellente réponse. Pour compléter la réponse, voir ce lien: MSDN.MicRosoft.com/en-us /Library/aa751951.aspx



0
votes

Sans IMETADATAEXCHANGE, un service WCF expose les informations de métadonnées au client, mais WCF ne garantit pas d'exposer les métadonnées car les fonctionnalités par défaut de la WCF visant à exposer les métadonnées au client.

Exposer les métadonnées est effectuée de manière bien normalisée à travers iMetaDataExchange. L'interface IMITADATAEXchange suit la norme de l'industrie.


0 commentaires