Просмотр ASP.net Development Server с виртуальной машины - PullRequest
3 голосов
/ 23 ноября 2010

Microsoft рекомендует тестировать более старые версии IE со следующими виртуальными машинами

Это все хорошо, за исключением того, что виртуальные машины не могут видеть Dev Server из Visual Studio. Это очень затрудняет разработку или отладку, поскольку мне приходится копировать или развертывать в IIS для каждого небольшого изменения, которое я делаю. Я попытался использовать ARR, но кажется, что он может перенаправлять только на один конкретный порт за раз, в то время как мне нужно, чтобы порт набирался в адресной строке виртуальной машины, чтобы соответствовать порту, к которому он подключается на хосте. машина. Возможно ли это?

Ответы [ 5 ]

2 голосов
/ 23 ноября 2010

Вам не нужно развертываться в IIS для проверки изменений.

Мы настроили IIS на машинах разработки так, чтобы он указывал на папку веб-проекта.

После настройки IIS вы можете добавить существующий веб-сайт в свое решение, выбрать Local IIS и выбрать Siteиз списка сайтов (вместо просмотра файловой системы и выбора файла .csproj).Теперь ваш сайт в VS размещается на IIS, готов к изменениям и отладке и доступен с удаленных компьютеров.

1 голос
/ 23 ноября 2010

Вообще говоря, вы не можете получить доступ к серверу разработки ASP.NET на одном компьютере с другого.

Вот несколько дополнительных заметок о том, что вы не можете сделать с ASP.NET Development Server из MSDN

  • Сервер разработки ASP.NET специально создан для обслуживания или запуска веб-страниц ASP.NET в сценарии с локальным хостом (просмотр с того же компьютера, что и веб-сервер). Другими словами, ASP.NET Development Server будет обслуживать страницы для запросов браузера на локальном компьютере. Он не будет обслуживать страницы на другом компьютере. Кроме того, он не будет обслуживать файлы, которые находятся за пределами области приложения. Сервер разработки ASP.NET предоставляет эффективный способ локального тестирования страниц перед их публикацией на производственном сервере с IIS.
  • Сервер разработки ASP.NET работает только с отдельными страницами и не включает в себя дополнительные возможности IIS. Например, сервер разработки ASP.NET не поддерживает почтовый сервер SMTP. Если ваше веб-приложение предполагает отправку сообщений электронной почты, у вас должен быть доступ к виртуальному серверу IIS SMPT для проверки электронной почты, поскольку сервер разработки ASP.NET не может пересылать сообщения электронной почты или вызывать сервер, который это делает.

В любом случае .....

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

Настройка базового обратного прокси-сервера в Squid в Windows (ускоритель веб-сайта)

Также взгляните на этот вопрос StackOverflow, в котором есть ответы, описывающие различные методы для достижения ваших результатов

Есть ли способ совершать удаленные вызовы на веб-сервер разработки ASP.NET?

0 голосов
/ 10 июля 2014

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

1. Первый шаг

Вам нужно скачать Скрипач .

После загрузки и установки Fiddler откройте его.

Зайдите в Инструменты-> Опция Fiddler-> Вкладка Подключение-> И отметьте «Разрешить подключение удаленным компьютерам» :

enter image description here

Перезапустите Fiddler.

2. Второй шаг

После этого в виртуальной машине откройте Internet Explorer-> Свойства обозревателя-> Вкладка подключения-> Настройки Lan-> Отметьте «Использовать прокси-сервер для вашей локальной сети» :

enter image description here

  1. Адрес - это IP-адрес вашего устройства DEV.
  2. и поставить порт 8888

Теперь вы можете получить доступ к веб-серверу ASP.NET с вашей виртуальной машины!

Чтобы получить к нему доступ -> http://localhost.:54814

  • Не забывайте дополнительный пункт после "localhost"!
  • Порт "54814" в моем случае является портом веб-сервера ASP.NET.
0 голосов
/ 12 февраля 2012

Я тоже нашел ссылку, которую Лоренцо упоминает в своем комментарии, но мне не повезло с конфигурацией Squid.

К счастью, есть гораздо более простой метод , как отмечено здесь .

  • Перейдите на CNET и загрузите SPI Port Forwarder
    • ( Примечание: Нажмите «Прямая ссылка для загрузки» ниже большая зеленая кнопка «Загрузить сейчас». Если вы используете кнопку «Загрузить сейчас», CNET попытается установить рекламное ПО на ваш компьютер. прежде чем дать вам файл. Это очень странно.)
  • В первом столбце «Локальный порт» указывается порт, к которому люди хотят подключиться к вашей машине. Я хотел, чтобы люди пришли на 80.
  • Во втором столбце «Удаленный хост» укажите «localhost» (он, очевидно, будет перенаправлен на другие машины).
  • В третьем столбце «Удаленный порт» указывается порт локального веб-сервера (в моем случае это сервер разработки ASP.NET на порт 2485).
  • Нажмите «Активировать»

Надеюсь, это поможет.

0 голосов
/ 23 ноября 2010

Вам необходимо ввести порт сервера разработки в адресную строку браузера клиента, в противном случае разместить приложение в IIS и использовать порт по умолчанию.

Тестирование с таким количеством конфигураций в среде разработки излишне. Обычно достаточно протестировать 2 или 3 конфигурации во время написания кода (скажем, IE8, FireFox) - просто запустите их с локальной машины (нет необходимости в виртуальной машине). По завершении пользовательского интерфейса разверните свое приложение в тестовой среде, в которой работает IIS, и протестируйте его на более широком диапазоне конфигураций.

Если вы протестируете каждое небольшое изменение по всем этим конфигурациям по мере внесения изменений, вы окажетесь перегружены тестированием. Не забывайте, что помимо рекомендованных MS сред тестирования различные конфигурации других браузеров и операционных систем (таких как FireFox и Opera, Mac OS) одинаково важны - вы можете выбрать для тестирования только часть этих конфигураций в зависимости от ресурсы.

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