Pregunta

He creado un servicio WCF, en el que estoy leyendo el msn, ya sea feeds y feeds nuevos a través de HttpWebRequest y HttpWebResponse usando codificación C #. Cuando ejecuto el servicio en mi PC local, está funcionando bien y obteniendo los feeds correctamente, no solo en mi sistema en casi todos nuestros sistemas de red también. Estoy usando CredentialCache.DefaultNetworkCredentials asignando como credenciales de red predeterminadas a las credenciales de proxy HttpWebRequest y también dando HttpWebRequest.DefaultWebProxy para el proxy de HttpWebRequest. Todo funciona bien en mi PC. Y cuando instalo el servicio en nuestra PC servidor a los servicios de Windows e inicio el servicio, por cada vez que arroja un error inesperado de la siguiente manera

System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()

No puedo solucionar este error en mi aplicación de servidor. Al copiar el uri que estoy solicitando en mi servicio, a un navegador está obteniendo los feeds en la PC del servidor. Pero, ¿por qué está lanzando una excepción cuando se ejecuta a través de un servicio de Windows (services.msc)? Espero que alguien pueda ayudarme a resolver este problema.

EDITAR:

En realidad, antes de intentar proporcionar el nombre de usuario y la contraseña del proxy para las credenciales de proxy y también la dirección de proxy especificada a través de las entradas de configuración, en ese momento estaba funcionando bien. Pero nuestro plan es eliminar la carga de proporcionar la dirección IP del proxy, el nombre de usuario y la contraseña en todo momento. Por lo tanto, planeamos proporcionarlo a través de las credenciales de red predeterminadas que se guardan en el sistema para omitir el proxy con los pasos dados anteriormente.

¿Fue útil?

Solución

¿Tiene un servidor proxy configurado en su empresa que requiera autenticación?

Intente ejecutar el servicio utilizando su identidad en lugar de las integradas (servicio de red, sistema local) y vea si eso ayuda.

EDITAR:

Supongo que podría depender de cómo esté configurado el proxy, pero para usar la configuración de proxy predeterminada, es posible que necesite que el servicio se ejecute en una cuenta de dominio que tenga esas propiedades configuradas correctamente.Como una buena práctica, utilice una cuenta de servicio dedicada en lugar de la suya, por supuesto.

También es posible que desee ver cómo configurar el proxy en el archivo de configuración en lugar de codificarlo de forma rígida.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top