2017-02-16 14 views
2

.NET 4.5.2を対象としたASP.NETコアプロジェクトがあります。私は設定にweb.configが必要な古いコンポーネントをプロジェクトに持っており、新しいappsettings.jsonにそれらを移行することはできません。今私は開発中で、コンソールモードでアプリケーションを実行していますが、実稼働環境ではIISでホストされます。私の質問は、app.configとweb.configの両方を同時に維持する必要があるかどうかです。私がアプリケーションをビルドすると、app.configの内容を持つ出力フォルダにMyProject.exe.configが表示されますが、出力すると、MyProject.exe.configとweb.configの両方が出力フォルダに表示されます。web.config、app.config、またはその両方?

答えて

0

web.configはIISによって読み取られ、IISがKestrelの前でリバースプロキシとして動作する方法を構成するために必須です(私はあなたのホスト方法を想像しています)。たとえば、IISでKerberos IDを転送する場合は、実際にはIIS構成であるため、これを構成する唯一の場所に残ります。<aspNetCore ... forwardWindowsAuthToken="true"/>したがって、必要に応じてweb.configを維持する必要がありますIISの後ろにホストします。それでは、IISに関係しないすべてのことについて、私はいつも使われているappsettings.jsonを使用しています.devはKestrelに直接アクセスしているときだけでなく、IISの背後にいるときにはスタッギングしています。あなたの設定(Kestrelの前のリバースプロキシとしてのIIS)は意味を持ち、正常です。IISを動かすもの( - > web.config)とあなたのウェブサイトのロジックを動かすもの - > appsettings.json)。

1

IISの背後でKestrelを実行するときにweb.configが必要になることは本当ですが、そのweb.configはIISの設定にのみ使用されます。 Asp.Net Coreを実行している場合、既存のdllがweb.configの設定にアクセスするための簡単な方法はありません。詳細はこちらAccess Web.config settings in Asp.Net Core App?

関連する問題