2012-01-17 20 views
6

私はc#.netで書かれたWindowsサービスを持っています。 app.configファイルを変更する必要がある場合は、Windowsサービスアプリケーションを再起動して新しい変更が反映されるようにする必要がありますか?web.configとapp.configの変更の影響

また、web.config接続文字列を変更すると、アプリケーションプールは自動的に開始されますか?

ありがとうございました。

+0

それは再起動するアプリケーションプールではなく、特定のWebアプリケーションのapp-domainです。それがアプリケーションプール(IISのコンセプト)だった場合、最悪の場合、同じアプリケーションプール内にある他のWebサイトにも影響が及ぶ可能性があります。 –

答えて

9

最初の質問に対する回答は「はい」です。何らかの種類の自動ファイルウォッチャーとドメイン再起動スキームを実装していない限り、サービスや他のタイプのアプリケーションのapp.configファイルを変更して適用する必要があります。

2番目の例では、ASP.NETはweb.configファイルの変更を検出し、自動的にアプリケーションドメインをリロードします。

3

はい、変更を適用するには、サービスを再起動する必要があります。アプリケーションプールに関しては、変更を加えるためにweb.config上の何かを変更した場合にも再起動する必要があります。

+3

デフォルトの動作では、web.configが変更されると自動的にアプリケーションプールが再起動されます。しかしこれは無効にすることができます。 – BNL

+0

また、有効になっている場合でも、アプリケーションの現在のトラフィックによっては発生しないことがあります。 – NotMe

+1

@BNLは再起動するアプリケーションプールではなく、特定のWebアプリケーションのapp-domainです。それがアプリケーションプール(IISのコンセプト)だった場合、最悪の場合、同じアプリケーションプール内にある他のWebサイトにも影響が及ぶ可能性があります。 –

2

web.configを変更すると、常にWebアプリケーションが再起動されます。リサイクルされているapp-poolと同じではありませんが、特定のApp Domainがアンロードされて再度ロードされます。

app.configに対して、あなたはそれだけでファイルを変更することができます。起動時や通常のプログラム実行中にapp-configだけを読んでいる場合は、アプリケーションを再起動する必要があるかどうかは、ロジックによって異なります。

関連する問題