Saltar al contenido

System.Net.WebException: el nombre remoto no se pudo resolver:

Si encuentras algún error con tu código o trabajo, recuerda probar siempre en un ambiente de testing antes aplicar el código al trabajo final.

Solución:

Es probablemente causado por un problema de conectividad de la red local (pero también es posible un error de DNS). Desafortunadamente HResult es genérico, sin embargo, puede determinar el problema exacto que detecta HttpRequestException y luego inspeccionando InnerException: si es un WebException entonces usted puede comprobar el WebException.Status propiedad, por ejemplo WebExceptionStatus.NameResolutionFailure debería indicar un problema de resolución de DNS.


Puede pasar, no hay mucho que puedas hacer.

Lo que sugeriría es envolver siempre ese código (relacionado con la red) en un bucle con un try/catch bloque (como también se sugiere aquí para otros falible operaciones). Maneje las excepciones conocidas, espere un poco (digamos 1000 mseg) y vuelva a intentarlo (digamos 3 veces). Solo si falla todas las veces, puede salir/informar un error a sus usuarios. Ejemplo muy crudo como este:

private const int NumberOfRetries = 3;
private const int DelayOnRetry = 1000;

public static async Task GetFromUrlAsync(string url) 
    using (var client = new HttpClient()) 
        for (int i=1; i <= NumberOfRetries; ++i) 
            try 
                return await client.GetAsync(url); 
            
            catch (Exception e) when (i < NumberOfRetries) 
                await Task.Delay(DelayOnRetry);
            
        
    

Tuve un problema similar al intentar acceder a un servicio (antiguo servicio ASMX). La llamada funcionaría al acceder a través de una IP; sin embargo, al llamar con un alias obtendría el nombre remoto que no se podía resolver.

Se agregó lo siguiente a la configuración y resolvió el problema:


    
    

Abre el Hospedadores archivo ubicado en: **C:windowssystem32driversetc**.

¿El archivo de hosts es para qué?

Agregue lo siguiente al final de este archivo:

SuServidorIPTuDNS

Ejemplo:

198.168.1.1mapas.google.com

Sección de Reseñas y Valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *