簡體   English   中英

使用Microsoft.Web.Administration將AspNetCore參數添加到IIS應用程序

[英]Add AspNetCore argument to IIS application using Microsoft.Web.Administration

我需要在服務器上托管一個ASP.NET Core應用程序的多個實例,每個實例都通過命令行參數進行不同的配置。 使用Windows窗體應用程序和Microsoft.Web.Administration API來管理Web應用程序實例。

在不使用WinForms應用程序的情況下,我可以通過在IIS管理器中為每個站點的配置編輯器添加參數並將“ From”設置為ApplicationHost.config來處理多個實例。 這為每個要使用的應用程序實例設置了一個不同的參數,而所有這些實例仍在同一ASP.NET Core .exe中運行。

我無法將其轉換為WinForms應用程序中的功能。 通過該工具添加實例后,新的<location>元素將添加到ApplicationHost.config,並且我需要向其中添加< aspNetCore arguments="xxxx" />子元素。

我能夠使它正常工作,我忽略了從特定位置讀取的GetSection的重載。 tt就這么簡單:

var aspNetCoreConfig = site.GetWebConfiguration().GetSection("system.webServer/aspNetCore", "<appInstanceName>");

aspNetCoreConfig["arguments"] = "xxxx";

使用ServerManager添加應用程序時。 重要的是,應用程序本身的web.config在<aspNetCore>部分中不要具有arguments屬性。 這將覆蓋在站點的web.config或服務器的ApplicationHost.config中針對該位置設置的任何內容,因為所有應用程序實例在其根文件夾中共享一個web.config,但可以在其各自的<location>部分中配置特定於實例的設置更高級別的配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM