Можно ли использовать IIS Express для размещения страниц в сети. Из коробки он может делать localhost, но я пытаюсь привязать его к IP-адресу.
Связывание IIS Express с IP-адресом
Ответ 1
Думаю, ты сможешь.
Для этого вам нужно отредактировать файл applicationhost.config
вручную (отредактируйте bindingInformation '<ip-address>:<port>:<host-name>
')
Чтобы запустить iisexpress, вам нужны права администратора
Ответ 2
Чтобы IIS Express отвечал на любой IP-адрес, просто оставьте адрес пустым, i.e:
bindingInformation=":8080:"
Не забудьте перезапустить IIS express до того, как изменения могут произойти.
Ответ 3
Как уже упоминалось выше, отредактируйте приложение host.config. Легкий способ найти это - запустить ваш сайт в VS с помощью IIS Express. Щелкните правой кнопкой мыши значок systray, покажите все приложения. Выберите свой сайт, а затем нажмите на ссылку конфигурации внизу, чтобы открыть его. Я бы предложил добавить другую запись привязки и оставить там исходный локальный хост. Это дополнительное связывание появится в Systray IIS Express как отдельное приложение под сайтом. Чтобы избежать необходимости запуска VS в качестве администратора (много хороших причин не запускаться как admin), добавьте правило netsh следующим образом (очевидно, заменив IP и порт вашими значениями) - вам понадобится admin cmd.exe для этого его нужно запустить только один раз: netsh может добавлять такие правила, как url = http:https://stackoverflow.com/https://stackoverflow.com/+:51652https://stackoverflow.com/ Дополнительная информация: http:https://stackoverflow.com/https://stackoverflow.com/msdn.microsoft.comhttps://stackoverflow.com/en-ushttps://stackoverflow.com/libraryhttps://stackoverflow.com/ms733768.aspxnetsh http add urlacl url=http:https://stackoverflow.com/https://stackoverflow.com/192.168.1.121:51652https://stackoverflow.com/ user=\Everyone
netsh http show urlacl
netsh http delete urlacl url=blah
Ответ 4
Ниже перечислены все изменения, которые мне нужно сделать для запуска моего приложения IIS с 64-разрядной биткойдью с использованием IIS Express, чтобы он был доступен удаленному хосту:
iisexpress /config:"C:\Users\test-user\Documents\IISExpress\config\applicationhost.config" /site:MyWebSite
Starting IIS Express ...
Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
Registration completed for site "MyWebSite"
IIS Express is running.
Enter 'Q' to stop IIS Express
В файле конфигурации (applicationhost.config) был добавлен раздел следующим образом:
<sites>
<site name="MyWebsite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\build\trunk\MyWebsite" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:192.168.2.133" />
</bindings>
</site>
64-битная версия платформы .NET может быть включена следующим образом:
<globalModules>
<!--
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
-->
<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
Ответ 5
Измените bindingInformation=":8080:"
И не забудьте отключить брандмауэр для IISExpress