2015-09-29 1 views
17

У меня есть 2 проекта, веб-API и проект angularJS клиента (который был создан с использованием шаблона Empty Project). Мой клиент попросил меня принудительно использовать SSL, поэтому для веб-API я создал filterAttribute. В любом случае, я сменил оба проекта на SSL Enabled. Проблема в том, что оба проекта показывают, что их URL-адрес SSL составляет http://localhost:44300, который, очевидно, не будет работать.Visual Studio 2015/IISExpress изменить порт SSL

Итак, я решил изменить файл applicationhost.config. Для Visual Studio 2015 это похоже на папку .vs. Когда я меняю его там, если я открою свой проект, он перезапишет его и вернет его в .

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

Кто-нибудь знает, как я могу использовать другой порт SSL?

+0

Вы можете загрузить Jexus Manager для IIS Express, чтобы внести изменения. Файл в .vs не является файлом для изменения. –

+0

Я дам этот снимок – r3plica

+0

На всякий случай кто-то приземляется здесь на проекты AspNet 5, обычные и SSL-порты, используемые Visual Studio 2015 (обновление 1), размещаются для каждого проекта в. \ Properties \ launchSettings.json файл. – Ghidello

ответ

34

У меня была такая же ситуация с 2 проектами. Visual Studio 2015 правильно назначил разные номера портов URL для HTTP, но сопоставил оба проекта с 44300 для HTTPS.

AFAIK applicationhost.config в .vs \ config, кажется, определяет среду IIS Express и сообщает IIS Express, как вести себя при вызове. Эта информация не содержит отзывов в Visual Studio.

Visual Studio, похоже, полагается на настройки в файле .csproj. Это значение порта SSL, которое вы видите при просмотре свойств для проекта в VS.

я смог распутать двух проектов подгоняя:

  1. Изменение значения IISExpressSSLPort в файле .csproj моего проекта
  2. я также необходимо для того, чтобы HTTPS связывание был включен в ApplicationHost.config

.csproj

<UseIISExpress>true</UseIISExpress> 
<IISExpressSSLPort>44301</IISExpressSSLPort> 

ApplicationHost.config

<bindings> 
    <binding protocol="http" bindingInformation="*:58001:localhost" /> 
    <binding protocol="https" bindingInformation="*:44301:localhost" /> 
</bindings> 

Update:

Файл .csproj.user также имеет конфигурацию SSL порт, чтобы избежать перезапись Номер порта SSL в файле applicationhost.config, .csproj.user должен также обновляться.

<UseIISExpress>true</UseIISExpress> 
<IISExpressSSLPort>44301</IISExpressSSLPort> 
+1

Я нашел модификацию файла .csproj. Кажется, что VS переписывает applicationhost.config, используя текущую конфигурацию моих проектов. – CamHart

+0

Я дам это испытание, потому что я так и не нашел решение :) – r3plica

+1

В проекте веб-сайта нет csproj ... – Dani

6

Для файлов Asp.Net ядра смотрите в разделе "/Properties/launchSettings.json".

2

Для vs2015 я нашел файл applicationhost.config с правильным содержимым в папке .vs \ в моем решении.

+0

Если у кого-то еще есть этот isuse, я также нашел файл там, но изменения в нем игнорируются. Если я изменил порт в , то в следующий раз, когда я надеюсь, что проект создаст целый новый блок и игнорирует все, что я сделал. – chrismay