繁体   English   中英

如何在 C# 中从 IIS Express 获取应用程序端口

[英]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;

但是两者都只给我DefaultAppPoolDefault 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM