2017-09-25 9 views
0

サーバー上にASP.NET Coreアプリケーションの複数のインスタンスをホストする必要があります。それぞれのインスタンスは、コマンドライン引数で別々に構成されています。 Webアプリケーションインスタンスは、Microsoft.Web.Administration APIを使用してWindowsフォームアプリケーションを使用して管理されます。Microsoft.Web.Administrationを使用してIISアプリケーションにAspNetCore引数を追加します。

WinFormsアプリケーションを使用しないと、IISマネージャーの各サイトの構成エディターで引数を追加し、「From」を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>セクションのarguments属性がないことが重要です。すべてのアプリケーションインスタンスがルートフォルダ内のweb.configを共有するため、サイトのweb.configまたはそのサーバーのApplicationHost.configに設定されているものはすべて上書きされますが、インスタンス固有の設定はそれぞれの<location>セクションに設定されていますレベル設定。

関連する問題