poner permitir net mvc eñe error codificar asp acentos c# sockets webclient

c# - permitir - "Un intento de conexión falló porque la parte conectada no respondió correctamente después de un período de tiempo" usando WebClient



poner acentos en c# (8)

Estoy usando el siguiente código que está trabajando en la máquina local, pero cuando probé el mismo código en el servidor, me produce un error

Falló un intento de conexión porque la parte conectada no respondió correctamente después de un período de tiempo, o falló la conexión establecida porque el host conectado no respondió

Aquí está mi código:

WebClient client = new WebClient(); // Add a user agent header in case the // requested URI contains a query. //client.Headers.Add ("ID", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); Stream data = client.OpenRead("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID); StreamReader reader = new StreamReader(data); string s = reader.ReadToEnd(); Console.WriteLine(s); data.Close(); reader.Close();

Estoy recibiendo error en

Stream data = client.OpenRead("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID);

¿Es debido alguna configuración de firewall?


  1. Primera posibilidad : la cadena cifrada en el Archivo de configuración web relacionada debe ser la misma que se ingresó en la cadena de conexión (que se muestra arriba) Y también, cuando cambia algo en el "Editor del Registro" o regedit.exe (como se escribió en Ejecutar ), luego de cualquier cambio, cierre el editor de registro y reinicie sus Servicios de información de Internet escribiendo IISRESET en Ejecutar. Y luego inicie sesión en su entorno.

  2. Escriba Services.msc en ejecución y verifique:

    1. Se inicia el estado de los servicios estatales de ASP.NET. Si no, haga clic derecho en él, a través de Propiedades, cambie su tipo de Inicio a automático.

    2. El servicio Iris ReportManager de ese banco en particular está listado como iniciado o no. Si se está ejecutando, mostrará "IRIS REPORT MANAGER SERVICE" como se inició en la lista. Si no, ejecútelo haciendo clic en IRIS.REPORTMANAGER.EXE

    Entonces otra vez RESET IIS


¿Es la URL que este código está haciendo accesible en el navegador?

http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID

Lo primero que debe verificar es que la URL que está creando es correcta. A continuación, compruebe en el navegador para ver si está navegando. luego use la herramienta Fiddler para verificar qué pasa a través de la red. Puede ser que la URL a la que se llama a través del código se haya escapado incorrectamente.

A continuación, compruebe si hay problemas relacionados con el firewall.



Puede ser emitido por la configuración del proxy en el servidor. Puede intentar desactivando la configuración de proxy,
<defaultProxy enabled="false" />


Sé que esta publicación fue publicada hace 5 años, pero tuve este problema recientemente. Puede deberse a limitaciones de la red corporativa. Así que mi solución es dejar que WebClient pase por el servidor proxy para hacer la llamada. Aquí está el código que funcionó para mí. Espero eso ayude.

using (WebClient client = new WebClient()) { client.Encoding = Encoding.UTF8; WebProxy proxy = new WebProxy("your proxy host IP", port); client.Proxy = proxy; string sourceUrl = "xxxxxx"; try { using (Stream stream = client.OpenRead(new Uri(noaaSourceUrl))) { //...... } } catch (Exception ex) { throw; } }


Sé que este boleto es viejo, pero acabo de encontrarme con este problema y pensé que publicaría lo que me estaba pasando y cómo lo resolví:

En mi servicio que estaba llamando había una llamada a otro servicio web. Como un error, me olvidé de asegurarme de que la configuración de DNS fuera correcta cuando publiqué el servicio web, por lo que mi servicio web, cuando se publicó, intentaba llamar desde api.myproductionserver.local, en lugar de api.myproductionserver.com. Fue el servicio web de back-end que estaba causando el tiempo de espera.

De todos modos, pensé que iba a pasar esto a lo largo.


Tuve este problema El código funcionó bien cuando se ejecuta localmente pero no cuando está en el servidor. Usando psPing ( https://technet.microsoft.com/en-us/sysinternals/psping.aspx ) me di cuenta de que el puerto de aplicaciones no estaba devolviendo nada. Resultó ser un problema de cortafuegos. No había habilitado el puerto de mis aplicaciones en el Firewall de Windows.

Herramientas administrativas> Windows Firewall con seguridad avanzada agregó el puerto de mis aplicaciones a las Reglas de entrada y comenzó a funcionar.

De alguna manera, el número de puerto de la aplicación había cambiado, por lo que tardé un rato en averiguar qué estaba pasando, así que pensé en compartir esta posibilidad en caso de que le ahorre tiempo a otra persona ...


Tuve un problema similar y tuve que convertir la URL de la cadena al objeto Uri usando:

Uri myUri = new Uri(URLInStringFormat, UriKind.Absolute);

(URLInStringFormat es su URL) Intente conectarse utilizando el Uri en lugar de la cadena como:

WebClient client = new WebClient(); client.OpenRead(myUri);