Могу ли я получить доступ к серверу разработки ASP.NET в интрасети?
Я тестирую сайт ASP.NEt. Когда я его выполняю, он запускает сервер разработки ASP.NET и открывает страницу.
Теперь я хочу проверить это в моей внутренней сети.
Могу ли я использовать этот сервер или мне нужно настроить IIS на этом компьютере?
Нужно ли что-то настраивать, чтобы оно работало?
Я изменил 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. Просто измените порт в соответствии с портом, который использует Кассини.
Вы можете перекомпилировать 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.