Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire une interface avec un service web

2 réponses
Avatar
Olys
Bonjour,

Je voudrais créer un service web qui implémente une interface qui expose des
service web.
Je sais faire cela avec une classe classique.

En fait, je voudrais pouvoir créer une classe dans une winform qui utilise
un service web qui implemente un interface. Ce sera ainsi au moment de
l'exécution que je donnerais à la classe le service web à utiliser, service
web qui implémentera forcément mon interface.

sur mon serveur:
ServiceWebA (implements interfaceA)
ServiceWebB (implements interfaceA)

dans ma winform:
Public cL as interfaceA
public sub initialisation(Sw as ServiceWebA)
cL=Sw
end sub

Cela ne m'a pas l'air si simple. Est ce possible.

Merci
Sylo

2 réponses

Avatar
Patrice
A partir du moment où la DLL proxy est générée pour le service A, il suffit
de modifier l'url (qui peut également être configurée dans le fichier
web.config) pour pouvoir accéder à un service B qui propose les mêmes
fonctions...Donc le rôle de l'interface me semble déjà être remplis par la
DLL proxy et ne pas avoir d'intérêt supplémentaire côté client.

Cela peut rester éventuellement intéressant côté serveur pour vérifier que
l'implémentateur des services A et B a bien défini tout ce qu'il fallait
(mais c'est quelque chose qui ne concerne que les implémentateurs, pas le
client).

Sinon quel est le problème exact que tu rencontres ? (probablement la DLL
proxy est générée à partir de la description WSDL et n'a donc probablement
aucune information permettant de savoir que telle interface est implémentée
d'où problème au moment de ton affectation. Tu pourrais éventuellement le
faire côté client si le point #1 ne rend pas la manip inutile).

--
Patrice

"Olys" <devbnet@[at]free.fr> a écrit dans le message de news:

Bonjour,

Je voudrais créer un service web qui implémente une interface qui expose
des service web.
Je sais faire cela avec une classe classique.

En fait, je voudrais pouvoir créer une classe dans une winform qui utilise
un service web qui implemente un interface. Ce sera ainsi au moment de
l'exécution que je donnerais à la classe le service web à utiliser,
service web qui implémentera forcément mon interface.

sur mon serveur:
ServiceWebA (implements interfaceA)
ServiceWebB (implements interfaceA)

dans ma winform:
Public cL as interfaceA
public sub initialisation(Sw as ServiceWebA)
cL=Sw
end sub

Cela ne m'a pas l'air si simple. Est ce possible.

Merci
Sylo




Avatar
Sylo
Ta réponse me convient totalement
je n'y avais pas pensé mais effectivement, cela devrait fonctionner
merci beaucoup
Sylo

"Patrice" a écrit dans le message de news:
en7QL%
A partir du moment où la DLL proxy est générée pour le service A, il suffit
de modifier l'url (qui peut également être configurée dans le fichier
web.config) pour pouvoir accéder à un service B qui propose les mêmes
fonctions...Donc le rôle de l'interface me semble déjà être remplis par la
DLL proxy et ne pas avoir d'intérêt supplémentaire côté client.

Cela peut rester éventuellement intéressant côté serveur pour vérifier que
l'implémentateur des services A et B a bien défini tout ce qu'il fallait
(mais c'est quelque chose qui ne concerne que les implémentateurs, pas le
client).

Sinon quel est le problème exact que tu rencontres ? (probablement la DLL
proxy est générée à partir de la description WSDL et n'a donc probablement
aucune information permettant de savoir que telle interface est
implémentée d'où problème au moment de ton affectation. Tu pourrais
éventuellement le faire côté client si le point #1 ne rend pas la manip
inutile).

--
Patrice

"Olys" <devbnet@[at]free.fr> a écrit dans le message de news:

Bonjour,

Je voudrais créer un service web qui implémente une interface qui expose
des service web.
Je sais faire cela avec une classe classique.

En fait, je voudrais pouvoir créer une classe dans une winform qui
utilise un service web qui implemente un interface. Ce sera ainsi au
moment de l'exécution que je donnerais à la classe le service web à
utiliser, service web qui implémentera forcément mon interface.

sur mon serveur:
ServiceWebA (implements interfaceA)
ServiceWebB (implements interfaceA)

dans ma winform:
Public cL as interfaceA
public sub initialisation(Sw as ServiceWebA)
cL=Sw
end sub

Cela ne m'a pas l'air si simple. Est ce possible.

Merci
Sylo