2012-01-15 91 views
1

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

例如起见,假设我的HTTP端口是3333,我的HTTPS端口是6666

是否有访问在IIS Express在我的ASP.NET编程配置这些端口号的方式码?

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

+0

你想用这个解决什么问题?如果您需要重定向到SSL版本,还有其他方法。 – 2012-01-15 02:01:43

+0

我正在尝试编写一个可以放在可以在http和https之间切换的操作的属性。与RequireHttpsAttribute类似,只不过您可以指定需要http或https。在我的开发环境中,这需要包括端口号。很容易硬编码,但希望能够以某种方式从服务器配置中获取它。 – bingles 2012-01-15 02:26:03

回答

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); 
     } 

    } 
} 
+0

正是我在找的东西。谢谢 – bingles 2012-02-22 14:06:37

相关问题