httplistener не работает на порту 80? - PullRequest
3 голосов
/ 31 января 2010

Настройка: Windows 7, IIS установлен и работает.

Следующий фрагмент кода:

HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://server.com:8080/path");
listener.Start();

Работает как шарм - в мой код поступает любой запрос на сервер.

Однако, когда я делаю следующее изменение (переход на порт 80), http.sys / IIS (не уверен, какой) возвращает ошибки HTTP 503:

listener.Prefixes.Add("http://server.com:80/path");

Я пытался настроить URLACL, запустить этот процесс от имени администратора и т. Д., Но это ничего не меняет.

Редактировать: чтобы прояснить это - в этом беспорядке нет реальной сети. Все это выполняется локально на одном компьютере для тестирования (как сервера, так и клиента).

Есть идеи?

Ответы [ 2 ]

1 голос
/ 21 февраля 2010

хорошо, не знаю почему, и я ненавижу такие ответы, однако ... проблема ушла . Я могу убедиться, что код не был изменен, и это не было переходным состоянием рассматриваемой машины, поскольку я пытался перезагрузить его более одного раза во время испытаний проблемы.

Понятия не имею, чем это вызвано.

0 голосов
/ 21 октября 2011

Я наблюдал то же самое на компьютере с Windows Server 2008 R2. Сначала я разработал прослушиватель на порту 8080, который используется большинством образцов, затем переключился на порт 80. При первом запуске на порту 80 я получил либо начальную страницу IIS (роль IIS не установлена ​​на моем сервере в настоящее время, может быть IE проблема с кешем) или пустая страница. У меня были точки останова в обработчике, и я мог видеть, как поступают запросы и на них успешно отвечают. После перекомпиляции (очистки), переустановки моего сервиса и перезапуска IE проблема исчезла. Без изменения кода.

Поэтому, если вы столкнулись с этой проблемой, попробуйте перекомпилировать clean, переустановите службу (или приложение) и перезапустите IE.

...