Visual Studio 2010 IIS Express Получить настроенные номера портов - PullRequest
1 голос
/ 15 января 2012

В настоящее время я разрабатываю сайт ASP.NET MVC 3 с использованием Visual Studio 2010 с включенным протоколом SSL для отладки на моем локальном компьютере через IIS Express.Порт назначен для http и https в файле applicationhost.config для моего сайта.

В качестве примера, скажем, мой http-порт 3333, а мой https-порт 6666.

Есть ли способ получить доступ к этим номерам портов, которые настроены в IIS Express программно в моем коде ASP.NET?

Я могу получить доступ к номеру порта, который я сейчас использую, т.е.если я нажимаю на страницу со значением http://localhost:3333/somepage,, тогда я могу получить 3333, но я хочу получить 6666 из конфигурации веб-сервера.

1 Ответ

1 голос
/ 13 февраля 2012

Вы можете получить порты, используя Binding класс Microsoft.Web.Administration . Ниже приведен пример.

using (ServerManager sm = new ServerManager())
{
    var bindings = sm.Sites[HostingEnvironment.ApplicationHost.GetSiteName()].Bindings;
    foreach (Binding b in bindings)
    {
        if (b.IsIPPortHostBinding)
        {
            if (b.Protocol.Equals("http"))
                Debug.WriteLine("HTTP port is " +  b.EndPoint.Port);
            else if (b.Protocol.Equals("https"))
                Debug.WriteLine("HTTPS port is " + b.EndPoint.Port);
        }

    }
}
...