2011-07-18 19 views
7

Tengo una aplicación de formulario C# que quiero escuchar para las solicitudes HTTP entrantes de otras computadoras.Escuchar solicitudes HTTP

¿Cómo voy a hacer esto?

+0

@Egil, por favor marque con la tecnología que está utilizando, evitaría que la gente adivine el marco. Por supuesto, puede usar ASP .NET si ya tiene la parte del servidor web, lo que en general significa ejecutar bajo IIS, pero sospecho que este no es el caso. – driis

Respuesta

13

Para necesidades simples, la clase HttpListener es una opción buena y sencilla. Hay un ejemplo en la página MSDN vinculada.

Si, por alguna razón, no se puede utilizar HttpListener, el proceso sería escuchar a un puerto mediante TcpClient (o incluso el API de sockets si necesita los detalles arenosos), y luego poner en práctica el HTTP Protocol. Recomiendo encarecidamente el HttpListener sobre el propio, a menos que tenga requisitos específicos que HttpListener no cumple.

+0

¿Esto me permitirá escuchar solicitudes de otras computadoras también (por ejemplo, mi navegador en mi teléfono)? – Egil

+0

Sí, 'HttpListener' en esencia convierte su aplicación en un mini servidor HTTP. – driis

+0

Creo que es un mejor enfoque. – Tocco

0

Puede utilizar ASP.NET Http Filters para interceptar las solicitudes HTTP.
Ver más detalles here

+0

. ¿Funcionaría esto también para una solicitud de formulario? – Egil

+0

Supongo que, si pregunta cómo escuchar las solicitudes entrantes, esto no es nada ASP .NET. – driis

+0

@Egil No, esto no sería posible; podría usar ASP.Net para manejar solicitudes HTTP (es decir, generar el documento de respuesta), pero aún necesita la parte que comprende el protocolo HTTP (es decir, el servidor web). – Justin

0

Si se trata de una aplicación asp.net, puede comprobar las peticiones HTTP en el controlador de eventos Application_BeginRequest de su Global.asax.

Cuestiones relacionadas