Изменить http-порт на «Веб-сайт по умолчанию» - PullRequest
0 голосов
/ 23 мая 2011

Я использую сборку Microsoft.Web.Adminsitration для создания пула приложений и веб-сайта.

Ссылается на:

Microsoft.Web.Administration в IIS 7

Этот пользовательский веб-сайт должен иметь порт 80 для связи http.Поскольку «Веб-сайт по умолчанию» также использует порт 80 по умолчанию, мне нужно программно изменить его на другой порт (скажем, 90).Есть ли способ сделать это программно?

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Вот пример кода для изменения существующей http-привязки порта 80 на веб-сайте по умолчанию на порт 90:

int iisNumber = 1; // Default Website is IIS#1
using(ServerManager serverManager = new ServerManager())
{
  Site site = serverManager.Sites.FirstOrDefault(s => s.Id == iisNumber);
  if(site != null)
  {
    Binding binding = site.Bindings
        .Where(b => b.BindingInformation == "*:80:" && b.Protocol == "http")
        .FirstOrDefault();

    binding.BindingInformation = "*:90:";

    serverManager.CommitChanges();
    Console.WriteLine("");
  }
}

Поле BindingInformation представляет собой строку, состоящую из:

<ip address>:<port>:<host header>

Например:

  • *:80: - прослушивание всех ip-адресов, порт 80, без заголовка узла
  • *:90:example.com - прослушивать все IP-адреса, порт 80, но отвечать, если заголовок хоста соответствует example.com
  • 172.16.3.1:80:example.com - прослушивать IP-адрес 172.16.3.1, порт 80 и, если заголовок хоста равен example.com
0 голосов
/ 23 мая 2011

Во второй строке «Создание сайта» в упомянутом вами сообщении блога показано, как ...

iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\\MySite");

Параметр *:8080 говорит, что веб-сайт должен прослушивать все IP-адреса, связанные смашина на порт 8080 .Просто измените 8080 на нужный порт.

К вашему сведению, 8080 - это традиционное местоположение "вне порта" для веб-сайтов.Просто помните, что вы не захотите конфликтовать с другими службами, которые используют порты.Вы можете увидеть список зарезервированных / зарегистрированных портов здесь: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

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