2011-02-09 13 views
6

Solo necesito crear un servidor web extremadamente básico que básicamente me permita ir al http://1.2.3.4:8080 y buscar una lista de archivos en C: \ web o algo así.C# NET HTTP.SYS servidor web

Encontré este http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html que se ve perfecto pero me encontré con un par de preguntas.

1) Cuando reemplazo el IP con * o + como dice la documentación, obtengo errores de acceso denegado en system.dll. Cuando uso localhost o mi IP local, funciona bien. ¿Por qué es esto? Me gustaría potencialmente poder vincularlo a una dirección IP específica en máquinas que tienen más de una.

2) Probablemente me falta algo, pero ¿cómo se especifica el directorio central donde están los archivos que se sirven con este código?

+0

¿Has contactado al blogger? ¿Dejaste un mensaje en su blog? –

+1

@Serge - appTranslator: ¿Por qué debería él hacer eso? 'HttpListener' es una clase .NET y la pregunta es perfectamente válida aquí en SO. – jgauffin

Respuesta

2

re 1: porque no tienes permisos para registrar esta URL. Use "http add urlacl2 para registrar permisos para su usuario (como administrador) para hacer el enlace. Ejemplo: http add urlacl url = http: // +: 8080/user = DOMAIN \ UserName

Re 2: You dont. Es prácticamente tu código. Http.sys no lee de un sistema de archivos, es un controlador. Tu aplicación debe leer los archivos y responder a la solicitud.

+0

+1. Aunque en win 7, necesitaba ejecutar "netsh http", y luego "agregar urlacl url = ...". ¿Error de tipografía? –

0

Esto puede ser un poco exagerado para lo que quieras, pero revisar el proyecto de servidor web aspNETserve.

es de código abierto, por lo que al menos se puede navegar por el código para obtener algunas ideas.

0

Sé que esto no te ayuda con tus problemas de código, pero ¿por qué reinventar la rueda? Creo que usted debe buscar en el uso de IIS Express, ya que creo que podría satisfacer sus necesidades muy bien:

http://learn.iis.net/page.aspx/868/iis-express-overview/

IIS Express es un ejecutable independiente que proporcionará toda la funcionalidad que necesita. También se ejecutará en Windows XP y superior.

+0

Interesante hallazgo, no sabía sobre IIS Express. Gracias. –

+0

Y si necesita un servidor web completamente desarrollado, gratuito y de calidad comercial, utilizado por millones y millones en todo el mundo, puede instalar Apache. – Icarus