IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Erreur sur Request.ServerVariables


Sujet :

ASP.NET

Vue hybride

davelop Erreur sur... 26/09/2017, 13h47
DotNetMatt C'est plus certainement un... 26/09/2017, 19h15
davelop Merci de ta réponse. Je... 27/09/2017, 08h42
DotNetMatt Ben ca depend de ton... 27/09/2017, 21h01
davelop Merci encore de ta réponse. ... 28/09/2017, 11h21
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut Erreur sur Request.ServerVariables
    Bonjour,

    J'ai hérité d'une application ASP.Net qui fonctionnait très bien jusqu'à maintenant et qui affiche une erreur lorsque l'on charge une des pages.

    Dans le code behind il y a cette instruction qui maintenant donne une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    protected void Page_Load(object sender, EventArgs e)
    {
    	remote_pc = ((System.Net.Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName.ToString()).Split('.'))[0].ToString();
    }
    L'erreur indiqué au chargement de la page est :
    "Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Net.Sockets.SocketException: No such host is known
    "

    Sauriez-vous me dire quel est le problème sachant que le fichier .aspx et le .aspx.cs n'ont pas été modifiés depuis 2012 ?

    Merci d'avance de votre aide.
    David

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par davelop Voir le message
    L'erreur indiqué au chargement de la page est :
    "Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Net.Sockets.SocketException: No such host is known
    "

    Sauriez-vous me dire quel est le problème sachant que le fichier .aspx et le .aspx.cs n'ont pas été modifiés depuis 2012 ?
    C'est plus certainement un probleme reseau qu'un problem purement lie au .NET Framework...

    Difficile de t'aider precisement, on peut envisage les pistes suivantes :
    - Est-ce que l'infra reseau a change recemment ? par exemple, un nouveau firewall, un nouveau VLAN, un nouveau proxy ... ?
    - Est-ce que la machine cible existe toujours sur le reseau ?
    - Est-ce que la machine cible est declaree dans les DNS ?
    - Est-ce que tes serveurs DNS se mettent a jour correctement ?
    - Est-ce que la configuration IPv4/6 sur ta machine a change ? Par exemple, est-ce que les prefixes/suffixes DNS sont toujours la ? Sont-ils corrects ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut
    Merci de ta réponse.

    Je vais me renseigner à ce sujet.

    Par contre je ne comprend pas quand tu parles de machine cible :
    L'instruction Request.ServerVariables["remote_addr"] ne renvoit-elle pas l'adresse IP de la machine cliente ?
    Où veut tu parler du fait que c'est le serveur Web qui ne voit pas la machine cliente qui appelle la page pour récupérer son adresse IP.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par davelop Voir le message
    L'instruction Request.ServerVariables["remote_addr"] ne renvoit-elle pas l'adresse IP de la machine cliente ?
    Ben ca depend de ton architecture reseau et de la configuration des differents elements...

    Par exemple, si tu as un load balancer devant ton serveur Web et qu'il ne laisse pas passer les IP "originelles", tu verras l'IP du load balancer... Dans ce cas, il vaut mieux regarder la variable HTTP_X_FORWARDED_FOR.

    Sinon, il existe tout un tas d'autres variables de ce genre qui peuvent contenir l'IP que tu cherches :
    • HTTP_X_COMING_FROM
    • HTTP_X_FORWARDED_FOR
    • HTTP_X_FORWARDED
    • HTTP_X_REAL_IP
    • HTTP_VIA
    • HTTP_COMING_FROM
    • HTTP_FORWARDED_FOR
    • HTTP_FORWARDED
    • HTTP_FROM
    • HTTP_PROXY_CONNECTION
    • CLIENT_IP
    • FORWARDED


    Il faut bien analyser ton infrastructure reseau pour savoir quoi utiliser et eventuellement reconfigurer certains composants. A noter, s'il y a un simple proxy quelque part devant ton serveur Web, toutes ces variables vont te renvoyer l'IP du proxy.

    [EDIT]
    Tu peux aussi essayer la propriete HttpRequest.UserHostAddress.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 207
    Par défaut
    Merci encore de ta réponse.

    Alors j'ai affiné un peu d'où venait le problème :

    On récupère bien l'adresse IP de la machine cliente que se soit avec l'instruction Request.ServerVariables["remote_addr"] ou HttpRequest.UserHostAddress

    Ce qui ne fonctionne pas c'est la résolution de l'adresse IP en nom Netbios de la machine cliente.
    Cela concerne donc la fonction System.Net.Dns.GetHostEntry(addr_ip).HostName qui ne fonctionne pas.

    Si tu as une idée..

    Merci

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par davelop Voir le message
    Alors j'ai affiné un peu d'où venait le problème :

    On récupère bien l'adresse IP de la machine cliente que se soit avec l'instruction Request.ServerVariables["remote_addr"] ou HttpRequest.UserHostAddress
    Tres bien, ca permet d'eliminer des pistes

    Citation Envoyé par davelop Voir le message
    Ce qui ne fonctionne pas c'est la résolution de l'adresse IP en nom Netbios de la machine cliente.
    Cela concerne donc la fonction System.Net.Dns.GetHostEntry(addr_ip).HostName qui ne fonctionne pas.
    Tu peux lire la doc ici : Dns.GetHostEntry Method (String). Cette methode interroge les serveurs DNS pour trouver les informations concernant l'IP / le host name passe en parametre.

    Si rien n'est trouve, ou si les serveurs DNS ne repondent pas, la methode retourne une exception 11001 (Windows Sockets error WSAHOST_NOT_FOUND), c'est l'erreur que tu obtiens.

    Je pense que le premier point a verifier est : As-tu l'adresse IP / le host name enregistre correctement dans tes serveurs DNS ? Tes clients sont-ils locaux (= sur le meme LAN) ou externes ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [Elysnet] Erreur 500 sur request - exec impossible
    Par acppca dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 16/03/2010, 04h48
  2. erreur Request.ServerVariables ( "HTTP_REFERER")
    Par celinebuff dans le forum ASP
    Réponses: 6
    Dernier message: 26/06/2008, 12h39
  3. Problème sur Request.ServerVariables("QUERY_STRING"
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/03/2005, 11h47
  4. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  5. Erreur sur le TNSListener après installation de 9iAS
    Par Patmane dans le forum Installation
    Réponses: 4
    Dernier message: 04/02/2004, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo