Ответ 1
В ASP.NET 5/vNext файл конфигурации находится в
~ProjectFolder~/.vs/config/applicationhost.config
Оттуда вы можете добавить новые привязки, как объяснили rdans.
У меня есть приложение с несколькими арендаторами, доступ к которому производится в качестве customer.ourdomain.com
. Для локального развития с помощью IIS мы используем настраиваемый подстановочный домен, company-localdev.com
.
В IIS это работает без какой-либо конкретной конфигурации. С другой стороны, IIS Express привязывается только к localhost
.
У нас есть постоянный проект миграции для ASP.NET 5, и мы хотели бы использовать IIS Express для более легкого опыта разработчиков.
Возможно ли, чтобы IIS Express прослушивал *.company-localdev.com:1234
? Бонусные баллы, если это может быть автоматизировано, поэтому разработчик может заставить его работать, просто открыв решение в IIS.
В ASP.NET 5/vNext файл конфигурации находится в
~ProjectFolder~/.vs/config/applicationhost.config
Оттуда вы можете добавить новые привязки, как объяснили rdans.
Havent попробовал это с vs2015, но это работает с iis express в vs 2012.
перейдите в папку документов. Откройте IISExpress/config.applicationhost.config.
найдите тег xml-сайтов и найдите свой сайт. Вы можете изменить привязки вашего сайта отсюда следующим образом:
<bindings>
<binding protocol="http" bindingInformation="*:1234:company-localdev.com" />
</bindings>
Отладка работает только для меня, если я запускаю visual studio в качестве администратора.
Хорошо, я заработал на своей локальной машине, вот все, что я должен был предпринять:
Перейдите к {YourProjectFolder}\.vs\config
и отредактируйте
Файл applicationhost.config:
<site name="MySite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="{MyProjectFolderPath}" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:49861:localhost" />
<binding protocol="http" bindingInformation="*:80:example.com" />
<!-- for subdomain testing only -->
<binding protocol="http" bindingInformation="*:80:sub1.example.com" />
<binding protocol="http" bindingInformation="*:80:sub2.example.com" />
</bindings>
</site>
Запустите "Блокнот" в качестве "Администратор" и перейдите в C:\Windows\System32\drivers\etc
, чтобы открыть файл хостов и изменить его так:
127.0.0.1 example.com
127.0.0.1 sub1.example.com
127.0.0.1 sub2.example.com
Добавьте резервирование URL, запустив cmd.exe в качестве администратора и введите в командной строке netsh http (чтобы получить приглашение netsh http>
, вы должны ввести netsh
, а затем Enter, затем http
, а затем Enter
):
add urlacl url=http://example.com:80/ user=everyone
add urlacl url=http://sub1.example.com:80/ user=everyone
add urlacl url=http://sub2.example.com:80/ user=everyone
Помните, что ключевое слово everyone
зависит от языка вашей ОС Windows. На французской ОС user=everyone
следует заменить на user="Tout le monde"
, на немецкой ОС это должно быть user=jeder
, на испанском языке user=todos
и т.д.... вы получите эту идею.
Надеюсь, что это поможет.