Могу ли я получить доступ к серверу разработки ASP.NET в интрасети?

Я тестирую сайт ASP.NEt. Когда я его выполняю, он запускает сервер разработки ASP.NET и открывает страницу.

Теперь я хочу проверить это в моей внутренней сети.

  1. Могу ли я использовать этот сервер или мне нужно настроить IIS на этом компьютере?

  2. Нужно ли что-то настраивать, чтобы оно работало?

Я изменил localhost на правильный IP и открыл брандмауэр.

Спасибо

10 ответов

Решение

Да, ты можешь! И вам не нужен IIS

Просто используйте простой туннель Java TCP. Загрузите это Java-приложение и просто верните трафик обратно. http://jcbserver.uwaterloo.ca/cs436/software/tgui/tcpTunnelGUI.shtml

В командной строке вы затем запустите java-приложение следующим образом... Предположим, вам нужен внешний доступ через порт 80, а ваша стандартная среда отладки работает через порт 1088...

java -jar tunnel.jar 80 localhost 1088

(Также ответили здесь: Доступ к серверу разработки asp.NET, внешнему по отношению к ВМ)

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

Но вот что я делал - я создал веб-сайт на определенном порту в IIS и открыл этот порт, чтобы он был виден в сети. Я указал этот веб-сайт IIS в корневую папку моего сайта (ту, в которой есть файл web.config). Затем я продолжал использовать сервер разработки ASP.NET на этом локальном компьютере во время разработки - и IIS, и сервер разработки ASP.NET могут получать доступ к файлам одновременно (если вы не делаете что-то дурацкое).

Дайте мне знать, если есть проблема с запуском IIS на вашем компьютере, и я обновлю свой ответ.

Я понимаю, что это не прямой ответ на ваш вопрос, но альтернативой отладке с использованием сервера разработки ASP является подключение к процессу IIS: как подключить отладчик к IIS вместо сервера разработки ASP.NET?

Нет, глупо (ИМХО), нет способа заставить сервер разработки ASP.net по умолчанию обслуживать страницы по IP-адресам, отличным от localhost. Я использовал UltiDev Cassini, который очень быстро настраивается и представляет собой версию сервера разработки ASP.net, скомпилированного UltiDev, и он будет обслуживать страницы на любой IP-адрес.

Просто для тех, кто не хочет / не может настроить IIS по любой причине...

Используйте fiddler или аналогичный на своем хосте - настройте свой браузер на виртуальной машине клиента для использования прокси, затем просто используйте localhost:dev_port, как обычно на клиенте.

Все запросы от клиента отправляются на прокси-сервер на вашем компьютере разработчика, который направляется на localhost на компьютере разработчика, а сервер ASP.net считает, что запрос поступил от вашего компьютера разработчика!

Вы можете использовать Cassini для внешней демонстрации своих веб-приложений. Вам просто нужно прокси соединение. Я написал для этого простую программу, которую можно запустить в другом экземпляре VS. Просто измените порт в соответствии с портом, который использует Кассини.

https://gist.github.com/945649

Вы можете перекомпилировать Cassini, чтобы заставить его работать - там довольно легко удалить проверку для localhost. Или я уверен, что Кассини Ультидева не имеет этого ограничения. Оба они проще в настройке, чем IIS.

Но, да, встроенный WebDev.WebServer не работает... Хм, если только вы не запустите что-то вроде прокси -сервера AnalogX на своем устройстве dev и укажете на порт WebDev. Это должно работать (хотя я не пробовал, это должно занять < 2 минуты).

Вы можете сделать перенаправление портов с помощью SOAP Toolkit 3.0

После установки перейдите в Мои программы> Microsoft Soap Toolkit 3 > Trace Utility

После запуска утилиты трассировки выберите "Файл"> "Создать"> "Отформатированная трассировка".

В диалоговом окне введите свой порт сервера разработки ASP .NET в поле Forward To Destination Port.

Это только обходной путь для тестирования

Скомпилируйте весь ваш сайт в режиме отладки, затем создайте сайт и опубликуйте его в IIS (убедитесь, что вы можете просматривать его с другого компьютера). Затем присоедините отладчик VS2010 к процессу с помощью AppPool вашего веб-сайта (процесс называется w3wp.exe, когда IIS>v5, и aspnet_wp.exe, когда IIS<5).

Если вы вносите какие-либо изменения, просто замените содержимое пакета на физический путь веб-сайта, и все снова.

Я считаю, что встроенный сервер ASP.NET работает только на локальном хосте. Вам придется использовать IIS.

Другие вопросы по тегам