2016-08-31 8 views
1

.NET WebFormsアプリケーションで作業していて、ビルド後に最初のページの読み込みに通常よりも時間がかかります。これは、ページをロードする前にビルドを待つ場合でも発生します。最初のページの読み込みではなくポストビルドで物事を初期化するためにIIS/.NETを変更して、人事考課のパフォーマンスを向上させる方法はありますか?.NETビルドで最初のページの読み込みが大幅に遅くなる

答えて

2

はい、あなたはthisのようにできます。 引用:

あなたはこのように、IIS 8.0とインボックス来るアプリケーションの初期化モジュールを使用することができます

<applicationInitialization 
    doAppInitAfterRestart="true" > 
    <add initializationPage="/" /> 
</applicationInitialization> 

これはあなたのアプリケーションのルートにリクエストを送信します(initializationPage =「/」)あなたのアプリが自動的に起動するたびに。

また、あなたのアプリケーションプールを右クリックし、次に 高度から(この場合、必ず毎回再起動をIIS、それはすぐにあなたのアプリケーションプールを開始することを確認することを意味しているを実行に、アプリケーションプールの開始モードを設定することができ

設定)。

+0

このアプリケーションは、appSettingsノード内に追加されますか? –

+0

いいえ、内にIIS機能があるためです。これをチェックしてください:https://www.iis.net/configreference/system.webserver/applicationinitialization –

+0

また、Windowsの機能の下に「アプリケーションの初期化」機能をインストールする必要があります(存在しない場合)。 –

0

プロフェッショナルサーバのレイテンシはほとんどありませんが、かなりの調整が必要です。また、既定では、アプリケーションはIIS上で定期的にリサイクルされます(何らかの種類の例外が発生した場合、一部のファイルが変更された場合、または何らかのしきい値に達した場合など)。プロフェッショナルWebアプリケーションホスティングは単純ですが、おそらくサーバーフォールトについての助けを得るかもしれません。

プリコンパイルとJITコンパイルを混在させないようにすることもできます。プリコンパイルするだけの場合は、アプリケーションのデプロイ時にコンパイルを行う必要がないため、起動時間が短縮されます。ソースをデプロイするだけの場合は、変更を加えるときにアプリケーションドメインを解体する必要はありません。つまり、変更のみを再コンパイルする必要があり、非常に高速です。

もちろん、ASP.NET Coreは、cscを使用して複数のアセンブリを構築してディスクに保存する従来のシステムとは異なり、メモリ内のコンパイル全体をディスクで実行することができます。をディスクから取り出し、それらをマージしてをもう一度に保存して、もう一度ロードして初期化してください。

関連する問題