Настройка iis express в visual studio 2019
Я разрабатываю проект в VS2010 и могу просматривать свой сайт локально через IIS Express. Я хотел бы включить внешний доступ по сети.
1 после редактирования файл applicationhost.файл конфигурации (находится в папке IISExpress в ваших документах), привязки вашего сайта должны выглядеть следующим образом:
привязки состоят из трех частей. Во-первых, IP-адрес или список, или, как в этом случае, подстановочный знак. Во-вторых номер порта, и в-третьих имя хоста, или список, или подстановочный знак (для фильтрации по Host заголовок). Для целей разработки подстановочный знак наиболее подходит здесь, поскольку вы, вероятно, будете использовать уникальный порт.
2 поскольку вы используете привязку non-localhost, требуются дополнительные разрешения. Вы можете запустить VS как администратор, или предпочтительно вы должны добавить URL ACLs для предоставления необходимых разрешений. В приведенном ниже примере разрешение предоставляется всем, но вы можете использовать свое собственное имя пользователя.
3 наконец, вам понадобится соответствующий записи брандмауэра. Для этого проще всего использовать консоль" Брандмауэр Windows с повышенной безопасностью".
в разделе "входящие правила" выберите " новое правило. ".
- тип правила - "Custom".
- Program is Services - >настроить. - >Применить только к услугам. (Хотя IIS Express не является службой, используется мультиплексор HTTP).
- протокол TCP
- конкретные порты: Список всех портов для всех привязок IIS Express. Вы можете вернуться к этому правилу и добавить порты в любое время. (Если это становится утомительным, вы можете добавить такие как 40000-65534 который охватывает весь диапазон, используемый Visual Studio, но имейте в виду, что это менее безопасно).
- действие "Разрешить подключение"
- профиль будет одним из следующих. Если есть сомнения, выберите "Domain + private".
- "домен", если ваш корпоративный рабочий стол и будет работать только на локальном домене
- "домен + Частная" если у частных ПК в корпоративной среде, или корпоративный ноутбук, который также должен работать при работе из дома.
- "домен, частный и публичный", если вам нужно делать демонстрации в непубличных сетях.
Как только я сделал это и перезапустил IISExpress. Я смог перейти к моей машине dev-Lee и увидеть мое приложение из моего Xoom!
мы можем добавить несколько адресов привязки, отредактировав applicationhost.конфигурация IIS Express
теперь мы можем получить доступ к веб-сайту из локальной сети с помощью IP-адреса.
Visual Studio 2013 SP1 и выше (2015) включает параметр "применить параметры сервера ко всем пользователям (хранить в файле проекта)". Это включено по умолчанию. При включении Visual Studio запускает IIS Express с аргументами командной строки, которые позволяют использовать другой файл конфигурации. Расположение ' applicationhost.config ' файл находится в каталоге проекта в '.vs\config'.
Если вы работаете с Visual Studio, выполните следующие действия для доступа к IIS-Express по IP-адресу:
- получите IP-адрес хоста: ipconfig в командной строке Windows
- GoTo $(SolutionDir).vs\config\applicationHost.config
- найти
<site name="WebApplication3" > <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site> - добавить: <binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
с вашим IP-адресом - запустите Visual Studio с правами администратора, и все должно работать
- может быть, искать какие-то проблемы с брандмауэром при попытке подключения с удаленного
ключ в том, что Visual Studio получила свой собственный applicationHost.файл config!
У меня было много проблем с тем, чтобы заставить это работать с visual studio 2012, я перешел от 404 ошибок к 503 ошибкам. В конце концов, то, что сработало для меня, было стереть всю связанную конфигурацию в конфигурации IIS Express.
затем я создал новый виртуальный каталог со страницы свойств в моем веб-проекте в VS, но прежде чем создать виртуальный каталог, я изменил имя хоста на http://myhost:80/ затем нажмите кнопку создать виртуальный каталог. Ранее Я получал ошибки, говоря, что имя хоста должно быть "localhost", но на этот раз это не так. И после этого это сработало.
короче говоря, сначала очистите существующую конфигурацию и начните снова.
Если вы внешний домен "name.mydyndns.com", тогда вам нужно написать:
это работает на Windows 2003 Server и IIS 7.5 Express.
в пуле приложений IIS установите "включить 32-разрядные приложения" на "true".
Сконфигурируйте IIS так, как того требует приложение. Создайте необходимые пулы приложений, сделайте каталог приложения доступным для совместного использования в качестве виртуального каталога и должным образом сконфигурируйте виртуальный каталог.
Установите права учетной записи Windows для пользователя рабочего процесса. Пользователь, от имени которого запускается рабочий процесс (w3wp.exe), нуждается в доступе для чтения к каталогам приложения. Если приложение обращается к другим ресурсам, например, к системному реестру или к журналу событий, для учетной записи рабочего процесса понадобится сконфигурировать разрешение на доступ к этим ресурсам.
В некоторых случаях необходимо также модифицировать файл machine.config. Например, если работа выполняется в среде веб-хостинга, а в целях балансировки нагрузки приложение работает на множестве веб-серверов, необходимо синхронизировать любые ключи шифрования, используемые для шифрования мандатов аутентификации с помощью форм или состояния представления на всех этих компьютерах. Эти ключи хранятся в файле machine.config и должны быть одинаковыми на каждом компьютере веб-фермы с тем, чтобы один компьютер мог расшифровать информацию, зашифрованную другим компьютером, ранее обрабатывавшим запрос.
Основная задача связана с развертыванием содержимого приложения на сервере IIS 8. В этой статье предполагается наличие у вас прав администратора и вход в систему сервера от имени учетной записи администратора. Если используется разделяемый сервер или поставщик услуг хостинга, то поставщик пришлет сведения об учетной записи, которая должна применяться при развертывании веб-сайта. Для простоты мы будем считать, что работа выполняется с учетной записью администратора, но при управлении собственным сервером следует подумать об использовании менее привилегированной учетной записи.
Развертывание посредством копирования файлов
Простейший способ развертывания веб-сайта предусматривает копирование файлов с рабочей станции на сервер. Несмотря на простоту, этот подход требует наличия непосредственного доступа к серверу. Именно по этой причине некоторые IT-подразделения и компании, предоставляющие услуги хостинга, не поддерживают эту опцию. Но она может быть простейшей при управлении собственным сервером или наличии особых договоренностей с компанией хостинга.
Подготовка IIS
Прежде чем развертывать веб-сайт, нужно подготовить IIS. Главное решение, которое нужно принять, касается места размещения содержимого и его влияния на конечный URL-адрес. Начнем с очевидного подхода - предположим, что необходимо, чтобы URL-адрес для содержимого данного примера был следующим:
IIS нужно подготовить так, чтобы было куда скопировать наш файл. В IIS Manager выберите элемент Default Web Site. Как следует из его имени, это сайт по умолчанию на сервере. Щелкните на нем правой кнопкой мыши и в контекстном меню выберите пункт Explore (Проводник), чтобы отрыть окно проводника Windows для заданного по умолчанию каталога IIS, которым является inetpub\wwwroot на системном томе (как правило, C:\).
Создайте каталог WebsiteDeployment, а в нем - каталог FileCopy (чтобы обеспечить существование пути inetpub\wwwroot\WebsiteDeployment\FileCopy). Закройте окно проводника, чтобы вернуться в IIS Manager. Щелкните правой кнопкой на записи Default Web Site и в контекстном меню выберите пункт Refresh (Обновить), чтобы увидеть новый каталог.
Веб-сайт
Развертывание веб-сайта
При использовании этой методики развертывания нужно просто скопировать файлы в созданный каталог. Переместите файлы веб-сайта на сервер любым подходящим способом - посредством общего сетевого диска, съемного диска USB и т.п. - и скопируйте файлы Default.aspx и Default.aspx.cs в каталог FileCopy, созданный на сервере.
Когда файлы будут скопированы, вернитесь в окно IIS Manager на сервере, щелкните правой кнопкой на папке FileCopy в древовидном представлении и в контекстном меню выберите пункт Refresh. В нижней части экрана щелкните на кнопке Content View (Просмотр содержимого). В центральной части окна должны отобразиться два файла веб-сайта, как показано на рисунке ниже:
В этом состоит наиболее важная часть этой технологии развертывания - вначале должна быть создана структура каталогов, которая представляет необходимый URL-адрес, а затем в готовые каталоги копируются файлы веб-сайта. Посмотрим, как это выглядит на практике. Для этого выберите FileCopy в IIS Manager и щелкните на ссылке Browse (Обзор) в правой части окна. Откроется веб-браузер с загруженным URL-адресом созданной папки. Окно браузера должно выглядеть подобно показанному на рисунке ниже:
Взглянув на URL-адрес адрес, можно удостовериться в том, что был получен желаемый результат. Браузер загрузил веб-сайт из следующего адреса:
Вспомните, что localhost - это специальное имя, обозначающее текущий компьютер, а URL-адрес, в котором не указан порт, будет использовать порт 80. (В моем случае я переместил сайт на порт 8080 по причинам, указанным в предыдущей статье). Можете проверить это, направив браузер по следующему URL-адресу:
Результат будет полностью аналогичен предыдущему (professorweb в данном случае имя сервера).
Конфигурирование развертывания
Вернитесь в браузер и перезагрузите страницу.
Откроется диалоговое окно Add Application (Добавление приложения). Используемый пул приложений можно изменить, щелкнув на кнопке Select (Выбрать). Настроить учетную запись пользователя, которую IIS будет применять для доступа к содержимому сайта, можно с помощью кнопок Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ). Пока что просто щелкните на кнопке ОК. Возможно, придется выбрать пункт Refresh (Обновить) в меню View (Вид) (или, как это часто имеет место, закрыть и снова открыть IIS Manager), но теперь значок записи FileCopy в древовидном представлении должен измениться.
Развертывание с помощью Visual Studio
Visual Studio предлагает встроенные возможности для упрощения развертывания веб-приложений, что облегчает задачу проектирования сложных веб-сайтов. Visual Studio включает в себя функции, которые интегрируются с IIS и позволяют создавать виртуальные каталоги, не выходя из комфортной среды разработки. Visual Studio предлагает несколько возможностей для интеграции с IIS:
Вы можете создавать виртуальный каталог при создании нового проекта.
Вы можете использовать функцию Copy Web Site (Копировать веб-сайт) для передачи существующего веб-сайта в виртуальный каталог.
Вы можете использовать функцию Publish Web Site чтобы скомпилировать свой сайт и передать его по новому адресу.
Создание виртуального каталога для нового веб-сайта
При создании веб-сайта в Visual Studio, вы можете одновременно создать виртуальный каталог для этого веб-сайта. Если вы сделаете это, Visual Studio не будет использовать встроенный тестовый сервер IIS Express. Вместо этого, все ваши запросы будут обрабатываться полной версией IIS.
Такой подход не является лучшим т.к. вы не сможете настроить некоторые параметры, такие как страницы по умолчанию, пользовательские ошибки и т.п. Вместо создания нового виртуального каталога с помощью Visual Studio лучше будет выбрать существующий каталог IIS, который в свою очередь можно сконфигурировать с помощью IIS Manager. Для этого щелкните по кнопке Browse (Обзор) и выберите нужный виртуальный каталог:
В этом окне вы можете добавить или удалить виртуальный каталог используя кнопки вверху справа.
Копирование веб-сайта
Visual Studio также включает в себя быстрый и простой способ для передачи файлов веб-приложения. Вам просто нужно выбрать в меню WebSite --> Copy Web Site. Откроется новое диалоговое окно Visual Studio, которое покажется знакомым любому, кто имел дело с различными IDE-программами для работы с сайтами, такими как Dreamweaver или Expression Web:
Это окно состоит из двух списков файлов. Слева находятся файлы в текущем проекте (на локальном жестком диске). Справа находятся файлы на целевом месте (удаленный веб-сервер). При первом открытии этого окна вы ничего не увидите справа, потому что вы не указали цель. Вы должны нажать кнопку Connect вверху, чтобы предоставить эту информацию. При этом Visual Studio откроет знакомое диалоговое окно, которое выглядит почти так же, как то, что вы видели при создании виртуального каталога для нового проекта. В этом окне вы можете выбрать одно из мест, куда нужно копировать веб-сайт:
File System
Это самый простой выбор - вы копируете файлы сайта внутри текущей файловой системы.
Local IIS
Позволяет выбирать виртуальные каталоги локального сервера IIS. Это удобно если сайт нужно будет разместить в другом каталоге.
FTP Site
Обеспечивает доступ к удаленному сайту через FTP. Многие хостинг-провайдеры предлагают доступ к сайтам через FTP, так что благодаря этой настройке вы можете сразу разворачивать свой сайт на удаленном веб-сервере, не прибегая к услугам различных FTP-программ наподобие TotalCommander:
Эта опция предлагает подключение к сайту по URL-адресу с использованием расширения FrontPage Extensions.
Как только вы выберите соответствующий пункт назначения, нажмите кнопку Open. Visual Studio попытается подключиться к удаленному сайт и получить список файлов.
Предварительные требования
Активация IIS
Для установки служб IIS, возможно, потребуется перезагрузить компьютер.
Настройка IIS
В службах IIS нужно настроить веб-сайт со следующими характеристиками:
Включение поддержки служб IIS в Visual Studio во время разработки
Запустите установщик Visual Studio.
Выберите Изменить в установщике программы Visual Studio, которую планируется использовать для поддержки IIS во время разработки.
Настройка проекта
Профиль запуска служб IIS
Создайте новый профиль запуска, чтобы добавить поддержку IIS во время разработки.
В обозревателе решений щелкните проект правой кнопкой мыши. Выберите пункт Свойства. Откройте вкладку Отладка.
В поле Запуск выберите из списка значение IIS.
Установите флажок Запуск браузера и укажите URL-адрес конечной точки.
Укажите то же имя узла и тот же порт, как в выполненной ранее настройке IIS. Обычно это localhost .
Укажите имя приложения в конце URL-адреса.
В разделе Переменные среды нажмите кнопку Добавить. Для переменной среды задайте имя ASPNETCORE_ENVIRONMENT и значение Development .
В области Параметры веб-сервера в поле URL-адрес приложения задайте значение, соответствующее URL-адресу конечной точки в поле Запуск браузера.
В Visual Studio 2019 и последующих версиях параметру Модель размещения задайте значение По умолчанию, чтобы использовать модель размещения проекта. Если для проекта задано свойство <AspNetCoreHostingModel> в файле проекта, используется значение свойства InProcess или OutOfProcess . Если свойство не задано, используется модель размещения приложения по умолчанию In Process. Если приложению требуется явно указать модель размещения, отличную от обычной модели размещения приложения, задайте параметру Модель размещения значение In Process или Out Of Process по необходимости.
Запуск проекта
Запустите Visual Studio от имени администратора.
- Убедитесь, что для раскрывающегося списка с конфигурацией сборки построения выбрано значение Отладка.
- Настройте кнопку Начать отладку на профиль IIS и нажмите ее для запуска приложения.
Если вы вошли в Visual Studio без прав администратора, возможно, потребуется перезапуск. Перезапустите Visual Studio при появлении соответствующего запроса.
Если используется сертификат разработки без доверия, возможно, потребуется создать исключение для этого ненадежного сертификата по запросу в браузере.
Отладка конфигурации сборки выпуска с использованием функции Только мой код и оптимизации компилятора приводит к ограничению возможностей. Например, точки останова не будут достигнуты.
Дополнительные ресурсы
Предварительные требования
Активация IIS
Для установки служб IIS, возможно, потребуется перезагрузить компьютер.
Настройка IIS
В службах IIS нужно настроить веб-сайт со следующими характеристиками:
Включение поддержки служб IIS в Visual Studio во время разработки
Запустите установщик Visual Studio.
Выберите Изменить в установщике программы Visual Studio, которую планируется использовать для поддержки IIS во время разработки.
Настройка проекта
Профиль запуска служб IIS
Создайте новый профиль запуска, чтобы добавить поддержку IIS во время разработки.
В обозревателе решений щелкните проект правой кнопкой мыши. Выберите пункт Свойства. Откройте вкладку Отладка.
В поле Запуск выберите из списка значение IIS.
Установите флажок Запуск браузера и укажите URL-адрес конечной точки.
Укажите то же имя узла и тот же порт, как в выполненной ранее настройке IIS. Обычно это localhost .
Укажите имя приложения в конце URL-адреса.
В разделе Переменные среды нажмите кнопку Добавить. Для переменной среды задайте имя ASPNETCORE_ENVIRONMENT и значение Development .
В области Параметры веб-сервера в поле URL-адрес приложения задайте значение, соответствующее URL-адресу конечной точки в поле Запуск браузера.
В Visual Studio 2019 и последующих версиях параметру Модель размещения задайте значение По умолчанию, чтобы использовать модель размещения проекта. Если для проекта задано свойство <AspNetCoreHostingModel> в файле проекта, используется значение свойства InProcess или OutOfProcess . Если свойство не задано, используется модель размещения приложения по умолчанию Out Of Process. Если приложению требуется явно указать модель размещения, отличную от обычной модели размещения приложения, задайте параметру Модель размещения значение In Process или Out Of Process по необходимости.
Запуск проекта
Запустите Visual Studio от имени администратора.
- Убедитесь, что для раскрывающегося списка с конфигурацией сборки построения выбрано значение Отладка.
- Настройте кнопку Начать отладку на профиль IIS и нажмите ее для запуска приложения.
Если вы вошли в Visual Studio без прав администратора, возможно, потребуется перезапуск. Перезапустите Visual Studio при появлении соответствующего запроса.
Если используется сертификат разработки без доверия, возможно, потребуется создать исключение для этого ненадежного сертификата по запросу в браузере.
Отладка конфигурации сборки выпуска с использованием функции Только мой код и оптимизации компилятора приводит к ограничению возможностей. Например, точки останова не будут достигнуты.
Для тех, кто не хочет ждать официальной поддержки IIS Express в Visual Studio, есть простой способ прикрутить возможность отладки самостоятельно.
Все, что нам понадобится — это скачать WebMatrix beta, в который входит IIS Express(отдельно скачать пока нет возможности).
Ставим IIS Express
После установки WebMatrix находим и редактируем файл «My Documents\IISExpress8\config\applicationhost.config».
Переходим к 145й строке и создаем еще одно определение сайта по образу и подобию WebSite1, удалив атрибут serverAutoStart:
- < site name ="WebSite1" id ="1">
- < application path ="/">
- < virtualDirectory path ="/" physicalPath ="%IIS_SITES_HOME%\WebSite1" />
- </ application >
- < bindings >
- < binding protocol ="http" bindingInformation =":8080:localhost" />
- </ bindings >
- </ site >
- < site name ="VSDebug" id ="2">
- < application path ="/" applicationPool ="Clr4IntegratedAppPool">
- < virtualDirectory path ="/" physicalPath ="c:\dev\mysite" />
- </ application >
- < bindings >
- < binding protocol ="http" bindingInformation =":8421:localhost" />
- </ bindings >
- </ site >
Думаю значения измененных атрибутов очевидны, так что пропустим их описание.
Настало время запустить наш сервер. Сделать это можно следующей командой:"C:\Program Files (x86)\Microsoft WebMatrix\iisexpress.exe" /site:
Вместо нужно подставить имя вашего сайта, которое вы указали в applicationhost.config. В моем случае это VSDebug. Если все сделано правильно, то сервер запустится и ваш сайт будет доступен.
Настраиваем Visual Studio
Запускаем студию и загружаем в нее наш сайт. Делаем правый клик по проекту, выбираем Properties и переходим на таб Web. Здесь нам нужно выбрать Start External Program и указать команду запуска нашего сервера.
Ниже, в этом же окне, выбираем Use Custom Web Server и снова вводим URL сайта.
В разделе Debuggers снимаем все флажки, т.к. студия будет пытаться приаттачиться к IIS и не позволит нам выполнять отладку.
Теперь сохраняем свойства и жмем F5, чтобы запустить отладку. Открыть сайт в браузере можно воспользовавшись иконкой IIS Express в трее.
Читайте также: