0

ASP.NET MVC アプリケーションがあり、アプリケーションが IIS で実行されている間にリアルタイムで変更できるファイルを含むフォルダーがいくつか含まれています。

.resx (コード生成なし) や.xml (カスタム コンテンツあり) などの拡張子を持つ特定のファイルを変更すると、アプリケーション プールが更新され、この動作は望ましくありませんが、 .cshtmlを変更するとプールが更新されません。 .

上記の「問題のある」ファイルを App_Data フォルダーに配置すると、プールは更新されませんが、他のフォルダーにも解決策があるかもしれません。

たとえば、アプリケーションにそのようなフォルダー構造がある場合:

    App_Code
    App_Data
    - file1.resx    // when its content changes the pool DOESN'T get refreshed
    - files2.xml    // when its content changes the pool DOESN'T get refreshed
    - files3.cshtml // when its content changes the pool DOESN'T get refreshed
    CustomFolder
    - App_LocalResources
    -- file1.resx    // when its content changes the pool gets refreshed
    -- files2.xml    // when its content changes the pool gets refreshed
    -- files3.cshtml // when its content changes the pool DOESN'T get refreshed

特定のファイルまたはファイルの種類が変更された場合に IIS アプリケーション プールが更新されないようにする方法は?

助けてくれてありがとう。

4

2 に答える 2

1

App_Data多くの動的/変化するコンテンツがそこに配置される可能性があるため、アプリケーションの再起動/リロードでは無視される特別なディレクトリだと思います。

resxファイルに関するMSDNから:

.resx (XML ベースのリソース形式) ファイルは、ランタイム バイナリ実行可能ファイルに埋め込んだり、サテライト アセンブリにコンパイルしたりできる共通言語ランタイム バイナリ .resources ファイルに変換されます。

resxそのことから、実行時にファイルがコンパイルされているため、アプリケーションが再起動されていると思います。

この動作を防ぐ方法はないと思います。web.configが変更されたときにASP.NETアプリケーションが再起動しないようにする方法についていくつかのアイデアがありますか? しかし、私はこれらのどれも試していません。

于 2013-07-18T13:36:48.257 に答える