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

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

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

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

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

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

Спасибо

Ответы [ 10 ]

50 голосов
/ 13 сентября 2011

Да, вы можете! И вам не нужен 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, внешнему по отношению к ВМ )

20 голосов
/ 21 августа 2008

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

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

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

6 голосов
/ 19 июля 2010

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

5 голосов
/ 04 августа 2010

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

4 голосов
/ 17 августа 2012

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

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

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

3 голосов
/ 28 апреля 2011

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

https://gist.github.com/945649

3 голосов
/ 21 августа 2008

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

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

2 голосов
/ 27 мая 2011

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

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

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

.

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

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

1 голос
/ 18 мая 2012

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

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

1 голос
/ 21 августа 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...