簡體   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