Dans le cadre d'une architecture idéale .NET, c'est-à-dire :
- Une machine de développement (celle du développeur).
- Une machine d'intégration (celle qui permettra de valider la solution développée).
- Une machine de production (celle qui est connue du public).
Un problème se présente lors de développement d'applications faisant accès à des WEBServices, en effet, entre ces trois machines, les configurations où les données ne sont pas les mêmes et ne sont pas forcément adaptées au référencement du WebService en Dur dans la solution.
Ainsi il est très pratique de pouvoir simplement, par la modification d'une clé dans ce WEB.CONFIG, changer l'adresse de ce WebService.
Ainsi par exemple, sur la machine de développement on aura :
-
http://localhost/NomDuWebservice/Fichier.asmx
Sur la machine d'intégration :
-
http://ServeurIntegration/NomDuWebservice/Fichier.asmx
Et sur la prod :
-
http://ServeurWEBProd/NomDuWebservice/Fichier.asmx
Et si les architectures sont multiserveurs (un Web, un pour Webservices, ... on pourra adapter facilement).
Source / Exemple :
Dans Visual Studio.NET, on référence le WebService local que l'on voit alors
apparaître dans la liste des "Web References" (en général avec le nom
LocalHost), une fois ceci fait, on Modifie ce nom (afin qu'il soit plus parlant
surtout s'il on en a plusieurs) en faisant "Bouton Droit > Renomer".
Une fois ceci fait : on ouvre le fichier Reference.vb qui se trouve sous
reference.map (penser à afficher tous les fichiers du projet).
Dans ce fichier on se place à la ligne Sub New()
On a cette version d'origine :
' ------------------
Public Sub New()
MyBase.New
Me.Url = "http://localhost/Monwebservices/MonService.asmx"
End Sub
' ------------------
Il suffit donc de changer la ligne URL par ceci :
' ------------------
Me.Url = ConfigurationSettings.AppSettings("MonServiceDanWebConfig")
' ------------------
Dans le WEB.CONFIG, on ajoute alors la clé donné dans le reference.vb
' ------------------
<configuration>
<appSettings>
.....
<add key="MonServiceDanWebConfig" value="http://localhost/Monwebservices/MonService.asmx"/>
....
</appSettings>
<system.web>
.....
</system.web>
</configuration>
' ------------------
Ainsi sur chaque machine où on placera ce projet, on devra si besoin changer l'URL du Webservice adaptée à celle-ci.
Conclusion :
Bon Coding.
-----------------------------------
[Article cité sur le Flash Microsoft MSDN France] :
http://www.microsoft.com/france/msdn/abonnements/flash/archives/030401.html#L21
-----------------------------------
Romelard Fabrice (Alias F___)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.