2017-09-25 57 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>部分配置在更高的实例特定的设置级配置。

相关问题