2010-09-03 12 views
0

J'aide un collègue sur celui-ci, donc si certains détails me manquent, c'est pourquoi.La modification de la référence Web à la référence de service change la signature de la méthode

Nous avons une application web asp.net 3.5 qui appelle un service WCF. À l'origine, l'application utilisait une «référence Web» pour enregistrer le service, mais après avoir eu quelques problèmes et avoir brûlé un incident avec Microsoft, leur solution était de remplacer la «référence Web» par une «référence de service» au service WCF.

Cela est excellent, sauf que le problème est que lorsque nous créons une référence de service, les signatures de méthode sont différentes de celles utilisées lors de l'utilisation d'une référence Web.

D'après ce que j'ai lu cela peut être prévu, mais dans notre cas, cela signifierait des changements importants à l'application et bien sûr cela était dû hier ... alors ...

... I Je me demande deux choses:

  1. Est-il normal/prévu que les signatures de méthodes changent en fonction du type de référence?
  2. Existe-t-il un moyen de créer la référence de service qui générera des signatures de méthode identiques à la référence Web d'origine?

Répondre

2

Vous pouvez créer une autre couche entre vos appels de référence Web actuels et le nouveau proxy de référence de service.

  1. Créez votre service ref avec un nom et/ou un espace de noms différent de ce qui existe aujourd'hui.
  2. Créez une classe avec le nom/l'espace de noms de l'ancien proxy de référence Web.
  3. Créez les signatures de méthode dans la nouvelle classe et enveloppez vos appels dans le proxy de référence de service.

Est-ce logique? C'est un modèle d'adaptateur très simple.