| |  |
Eek Aak Ook ! |
mardi 06 janvier 2009 |
| mercredi 07 février 2007 |
| 20:40 » .NET, web services et proxy - programmation, .NET 1.1 |
Mise en situation : soit une application .NET 1.1 qui effectue des appels à des web services. La partie réseau se passe très bien, malgré la présence d'un proxy par lequel l'application doit passer afin de contacter les web services.
Un beau jour, l'adresse dudit proxy change, et patatras, l'application ne fonctionne plus.
Le plus inquiétant, c'est qu'Internet Explorer est bien configuré pour utiliser ce nouveau proxy, et .NET étant censé se baser sur ces paramètres afin de savoir quel proxy utiliser, ça devrait fonctionner... étrange.
Après quelques essais infructueux, je vais consulter, à l'aide de l'excellentissime Reflector, le code source de la méthode System.Net.WebProxy.GetDefaultProxy(), qui retourne un objet WebProxy correspondant aux paramètres d'Internet Explorer lus dans la base de registres.
Et là stupeur, la méthode ne va pas lire les valeurs sous la clé utilisée par Internet Explorer comme on s'y attendait (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings), mais sous une clé un cran en dessous (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections).
Et c'est là, dans la valeur binaire DefaultConnectionSettings, que se trouvent les paramètres lus par le framework .NET.
Effectivement, cette valeur pointait toujours vers l'ancien proxy, d'où le patatras. Une correction d'adresse de proxy plus tard, tout roulait, ouf ^_^
En espérant que ça vous évitera des prises de têtes :-) (et que ça vous poussera à utiliser Reflector, il est vraiment très très bien, cet outil). |
| musical cue : Tamba Trío - Más que nada
|
|
| jeudi 08 février 2007 - 08:13 |
Ou alors un bon vieux netstat pour voir les connexions ouvertes.
Et preums au fait :-) |
| alex |
|
| jeudi 08 février 2007 - 08:20 |
Pour la petite histoire, et pour se rendre compte que l'application cherchait à joindre l'ancien proxy, on a utilisé TcpView.
Ca fait moins mal aux yeux que netstat ;-) |
| nop |
| (http://www.peuw.net) |
|
| vendredi 09 février 2007 - 08:30 |
En effet c'est plus sympa, je ne connaissais pas :) |
| alex |
|
| vendredi 09 février 2007 - 09:04 |
Dans ce cas là je t'invite à aller voir les autres outils de Sysinternals, c'est plein de très bonnes choses pour fortifier les geeks : utilitaires de surveillance des fichiers, de la registry, des processus, etc. |
| nop |
| (http://www.peuw.net) |
|
| Réagir : |
Le html n'est pas autorisé, pour mettre en forme vos textes, utilisez les codes suivants:
* [b]gras[/b]
* [u]souligné[/u]
* [i]italique[/i]
* [s]barré[/s]
* [sup]exposant[/sup]
* [url=http://www.monlien.com]texte du lien[/url] (pour les feignants, sachez que tout texte de la forme http://quelquechose sera automatiquement transformé en lien)
* [img]http://www.monlien.com/monimage.jpg[/img]
* [center]texte centré[/center]
* [quote]citation[/quote]
* Toute ligne commençant par "/me" sera remplacée à la sauce IRC. Si votre pseudo est Martine et que vous inscrivez :
/me va à la plage
Le résultat sera :
* Martine va à la plage
* [mp3]http://www.monlien.com/mamusique.mp3[/mp3]
* [code language="C#|php|vb.net|etc..."]public void DuCode() { }[/code]
|
back!
|
|
|