我目前正在使用启用了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。
答案 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);
}
}
}