Visual Studio 2010 IIS Express获取已配置的端口号

时间:2012-01-15 01:36:23

标签: asp.net-mvc visual-studio-2010 iis-express

我目前正在使用启用了SSL的Visual Studio 2010开发ASP.NET MVC 3站点,以便通过IIS Express在本地计算机上进行调试。在我的站点的applicationhost.config文件中为http和https分配了一个端口。

为了举例,假设我的http端口是3333,而我的https端口是6666。

有没有办法在我的ASP.NET代码中以编程方式访问在IIS Express中配置的这些端口号?

我可以访问我当前使用的端口号,即。如果我在http://localhost:3333/somepage点击页面,那么我可以到达3333,但我希望能够从Web服务器配置中获取6666。

1 个答案:

答案 0 :(得分:1)

您可以使用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);
        }

    }
}