2011-02-09 18 views
6

Po prostu potrzebuję stworzyć bardzo prosty serwer WWW, który zasadniczo pozwoli mi przejść do http://1.2.3.4:8080 i przejrzeć listę plików w C: \ web lub coś podobnego.C# NET HTTP.SYS serwer WWW

Znalazłem ten http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html który wygląda idealnie, ale wpadłem na kilka pytań.

1) Kiedy zastępuję adres IP * lub +, jak mówi dokumentacja, otrzymuję odmowę dostępu w systemie.dll. Kiedy używam localhost lub mojego lokalnego adresu IP, działa dobrze. Dlaczego to? Chciałbym potencjalnie móc powiązać go z określonym adresem IP na maszynach, które mają więcej niż jeden.

2) Prawdopodobnie brakuje mi czegoś, ale jak określić główny katalog, w którym pliki są wyświetlane z tym kodem?

+0

Czy skontaktowałeś się z blogerem? Czy zostawiłeś wiadomość na swoim blogu? –

+1

@Serge - appTranslator: Dlaczego on to robi? 'HttpListener' jest klasą .NET, a pytanie jest całkowicie poprawne tutaj w SO. – jgauffin

Odpowiedz

2

re 1: ponieważ nie masz uprawnień do zarejestrowania tego adresu URL. Użyj opcji "http add urlacl2", aby zarejestrować uprawnienia użytkownika (jako administratora) do powiązania. Przykład: http add urlacl url = http: // +: 8080/user = DOMENA \ Nazwa użytkownika

Powt. 2: Nie musisz. To jest prawie twój kod Http.sys nie czyta z systemu plików - jest to sterownik, Twoja aplikacja musi odczytać pliki i odpowiedzieć na żądanie

+0

+1. Chociaż na wygranej 7, musiałem uruchomić "netsh http", a następnie "dodać urlacl url = ...". Typo? –

0

To może być trochę przesada za to, co chcesz, ale sprawdź Project server aspNETserve internetowej.

jest open source, tak przynajmniej można przeglądać kod, aby uzyskać kilka pomysłów.

0

Wiem, że to nie pomoże ci w problemach z kodem, ale po co wynajdować koło! Myślę, że należy spojrzeć na użyciu IIS Express, jak myślę, że może to swoich potrzeb ładnie:

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

IIS Express jest samodzielny plik wykonywalny, który zapewni pełną funkcjonalność, czego potrzebujesz. Będzie również działać w systemie Windows XP i nowszych wersjach.

+0

Interesujące znalezisko, nie wiedziałem o IIS Express. Dzięki. –

+0

A jeśli potrzebujesz pełnowartościowego, darmowego, komercyjnego serwera sieciowego, używanego przez miliony i miliony na całym świecie, możesz zainstalować Apache. – Icarus