2017-09-25 27 views
0

予有需要託管服務器上的ASP.NET核心應用程序,它每一個經由命令行參數不同地配置的多個實例添加AspNetCore參數IIS應用程序。 Web應用程序實例使用帶有Microsoft.Web.Administration API的Windows Forms應用程序進行管理。使用Microsoft.Web.Administration

不使用的WinForms應用程序,我可以通過在IIS管理器中的配置編輯器爲每個站點和設置「從」,以對ApplicationHost.config添加參數來獲得與多個實例這方面的工作。這爲每個應用程序實例設置了一個不同的參數,同時仍然從同一個ASP.NET Core .exe運行。

我一直沒能夠做的就是翻譯這個在WinForms應用程序的功能。當一個實例通過添加工具,一個新的<location>元素被添加到對ApplicationHost.config,我需要一個< aspNetCore arguments="xxxx" />子元素添加進去。

回答

0

我能得到這個工作,我忽略了GetSection的過載會從特定位置讀取。 tt非常簡單:

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

aspNetCoreConfig["arguments"] = "xxxx"; 

使用ServerManager添加應用程序時。重要的是應用程序本身的web.config在<aspNetCore>部分中沒有參數屬性。這將覆蓋任何東西在網站的web.config或服務器對ApplicationHost.config該位置的設置,因爲所有的應用程序實例在其根目錄文件夾共享一個web.config,但可以在各自的<location>部分配置在更高的實例特定的設置級配置。

相關問題