[英]How to get app port from IIS Express in C#
我正在尝试从 IIS Express 获取正在运行应用程序的端口。
到目前为止,我尝试了这两种方法:
//first
var iisExpress = new DirectoryEntry("IIS://localhost/W3SVC/AppPools").Children;
//second
var mgr = new ServerManager().Sites;
但是两者都只给我DefaultAppPool
和Default Web App
,而我需要的是我从 Visual Studio 在本地运行的应用程序。
这将输出在 IIS 上运行的所有网站的名称和端口。
var serverManager = new ServerManager();
foreach (Site site in serverManager.Sites)
{
Console.WriteLine(site.Name);
Console.WriteLine(site.Bindings[0].EndPoint.Port);
}
如果您想将特定站点(例如:MyWebsite)的端口保存在变量上,您可以执行以下操作:
var serverManager = new ServerManager();
var mySite = serverManager.Sites.FirstOrDefault(s => s.Name.Contains("MyWebsite"));
int myPort = mySite?.Bindings[0].EndPoint.Port ?? 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.