2010-03-24 17 views
1

J'ai deux services Web .NET déployés sur le même serveur IIS en utilisant SSL, l'un référençant l'autre.Pourquoi "localhost" dans les références Web provoque-t-il des SocketExceptions?

Si je mets cette référence Web pour 'localhost', certains appels échouent à cette exception:

System.Web.Services.Protocols.SoapException: Server n'a pas pu traiter la demande. ---> System.Net.WebException: Impossible de se connecter au serveur distant ---> System.Net.Sockets.SocketException: Aucune connexion n'a pu être établie car la machine cible activement refusé

Si je mets au nom de la machine, cela fonctionne.

Pourquoi?

Répondre

0

Je suppose que vous trouverez que IIS est configuré pour écouter les demandes sur l'interface réseau "réelle", mais pas sur l'adaptateur de bouclage.

Vous devriez être en mesure de voir cela avec un simple navigateur - essayez d'aller à https://localhost sur la boîte et voir ce qui se passe.

+0

Etrangement, je peux naviguer avec un navigateur, seuls les appels inter-services peuvent échouer. – Sam

+0

@Sam: Hmm ... c'est très étrange ... –

+0

Peut être lié à des permissions spécifiques (par exemple pour un compte particulier) n'ayant pas été définies pour localhost. – reinierpost

0

Le 127.0.0.1 peut éventuellement résoudre le problème. Pourquoi? Je ne sais pas - tirer des expériences.