ユーザ用ツール

サイト用ツール


it技術:web開発

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
it技術:web開発 [2020/03/04 17:29] – [設定] yajuadminit技術:web開発 [2022/01/27 18:09] – [リソースが見つかりません] yajuadmin
行 6: 行 6:
 ===== IISのバージョンとWindows OS ===== ===== IISのバージョンとWindows OS =====
 ^OS^IIS^ ^OS^IIS^
 +|Windows Server 2019|IIS 10|
 |Windows Server 2016|IIS 10| |Windows Server 2016|IIS 10|
 |Windows Server 2012 R2|IIS 8.5| |Windows Server 2012 R2|IIS 8.5|
行 118: 行 119:
 ASP.NETアプリケーションは初回のページ呼び出しがあった時に、アプリケーションの初期処理(ビルドなど)が実施されます。そのため、ファーストユーザーがページにアクセスした時に遅いと感じることがあります。 ASP.NETアプリケーションは初回のページ呼び出しがあった時に、アプリケーションの初期処理(ビルドなど)が実施されます。そのため、ファーストユーザーがページにアクセスした時に遅いと感じることがあります。
  
-IISApplication Initialization機能を有効にしておくと、起動時にIISがアプリケーションを呼び出しておいてくれます。そのため最初のユーザーがアクセスした時の体感速度を向上させることができます。+IIS 8.0 で標準搭載された Application Initialization機能を有効にしておくと、起動時にIISがアプリケーションを呼び出しておいてくれます。そのため最初のユーザーがアクセスした時の体感速度を向上させることができます。 
 +==== Application Initialization ==== 
 +IIS は、既定でサービス開始直後にワーカープロセスを起動しません。ユーザーからのリクエストを受けてからワーカープロセスを起動し、その中で ASP.NET の初期処理などを行っています。結果、最初にリクエストを行うユーザーは、通常時と比べて応答に時間がかかる (初期化が完了するまで待たされる) こととなります。 
 + 
 +この初回リクエストにかかるコストを軽減するための機能として Application Initialization が提供されており、自動的にワーカープロセスを起動させる機能と、仮想的な要求を内部的に発行し、該当の初期化処理を事前に終わらせる機能、の組み合わせで実現されています。\\ 
 +[[https://social.msdn.microsoft.com/Forums/ja-JP/eedce306-7b33-4f91-80aa-fd48f4bcd17e/application-initialization-http-module-?forum=iissupportteamja|Application Initialization について]]
  
 ==== 設定 ==== ==== 設定 ====
-  * [[https://www.buildinsider.net/web/iis8/04|オート・スタートによるアプリケーションの初期化処理とメンテナンスページ]] +[[http://www.pine4.net/Memo/Article/Archives/522|[ASP.NET]Application InitializationでASP.NET Webアプリケーションを常時起動する]] 
-  * [[http://www.pine4.net/Memo/Article/Archives/522|[ASP.NET]Application InitializationでASP.NET Webアプリケーションを常時起動する]] + 
-  * [[http://www.zankavtaskin.com/2016/12/azure-web-app-application-initialization.html|Azure Web App Application Initialization]] +^アプリケーションプール設定|startMode="AlwaysRunning"
-  * [[https://blog.bright-l.0am.jp/2016/04/19/application-initialization-module-iis/|Application Initialization Module (IIS)]] +^Webサイト設定|preloadEnabled="true"
-  * [[https://docs.microsoft.com/en-us/iis/configuration/system.webserver/applicationinitialization/|Application Initialization <applicationInitialization>]] +^Web.Config|doAppInitAfterRestart はデフルト false \\ skipManagedModules デフォルト false|
-  * [[https://weblog.west-wind.com/posts/2013/oct/02/use-iis-application-initialization-for-keeping-aspnet-apps-alive|Use IIS Application Initialization for keeping ASP.NET Apps alive]] +
-  * [[https://stackoverflow.com/questions/35480661/iis-8-5-application-initialization-not-working|IIS 8.5 - Application initialization not working]] +
-  * [[https://qastack.jp/server/590865/how-can-i-warm-up-my-asp-net-mvc-webapp-after-an-app-pool-recycle +
-|アプリプールのリサイクル後にasp.net mvc webappをウームアップするにどうすればよいですか?]]+
  
 <code xml web.config> <code xml web.config>
行 138: 行 140:
   </system.webServer>   </system.webServer>
 </code> </code>
 +
 +=== 参照 ===
 +  * [[https://blog.nextscape.net/archives/2399|IIS Application InitializationでASP.NETアプリの起動を高速化(ウォームアップ)]]
 +  * [[https://www.buildinsider.net/web/iis8/04|オート・スタートによるアプリケーションの初期化処理とメンテナンスページ]]
 +  * [[http://www.zankavtaskin.com/2016/12/azure-web-app-application-initialization.html|Azure Web App Application Initialization]]
 +  * [[https://blog.bright-l.0am.jp/2016/04/19/application-initialization-module-iis/|Application Initialization Module (IIS)]]
 +  * [[https://docs.microsoft.com/en-us/iis/configuration/system.webserver/applicationinitialization/|Application Initialization <applicationInitialization>]]
 +  * [[https://weblog.west-wind.com/posts/2013/oct/02/use-iis-application-initialization-for-keeping-aspnet-apps-alive|Use IIS Application Initialization for keeping ASP.NET Apps alive]]
 +  * [[https://stackoverflow.com/questions/35480661/iis-8-5-application-initialization-not-working|IIS 8.5 - Application initialization not working]]
 +  * [[https://qastack.jp/server/590865/how-can-i-warm-up-my-asp-net-mvc-webapp-after-an-app-pool-recycle
 +|アプリプールのリサイクル後にasp.net mvc webappをウォームアップするにはどうすればよいですか?]]
 +  *  [[https://tech.mirukome.com/iis7%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9F%EF%BD%97%EF%BD%85%EF%BD%82%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A7%E6%9C%80%E5%88%9D%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%8C%E9%81%85/|IIS7を利用したWEBサイトで最初のアクセスが遅いときの対処法]]
  
 ==== 調査 ==== ==== 調査 ====
 IIS applicationInitializationリクエストは内部で行われるため、W3Cログには表示されません。 IIS applicationInitializationリクエストは内部で行われるため、W3Cログには表示されません。
-ただし、init1.aspxページでリクエストを確認し、ユーザーエージェントを確認すると、「IIS Application Initialization Preload」が表示されます。+ただし、Initializer.aspxページでリクエストを確認し、ユーザーエージェントを確認すると、「IIS Application Initialization Warmup」か「IIS Application Initialization Preload」が表示されます。
  
 <code csharp Initializer.aspx> <code csharp Initializer.aspx>
行 230: 行 244:
 これでも駄目なら、ソリューションファイルとプロジェクトを一から作り直す。 これでも駄目なら、ソリューションファイルとプロジェクトを一から作り直す。
  
 +===== リソースが見つかりません =====
 +POSTを使用すると、「リソースが見つかりません」というエラーが表示されます。\\
 +GetSQLDataのコントローラーが見つからないか、IControllerを実装していません。
 +
 +原因としてコントローラーの指定が間違っている。
 +
 +<code javascript 例>
 +postAjax('GetSQLData', JSON.stringify(param), process);
 +
 +postAjax('/Home/GetSQLData', JSON.stringify(param), process);
 +</code>
 ===== 発行先だと動作しない ===== ===== 発行先だと動作しない =====
 Visual Studio上のWebブラウザでは動作したが、発行した環境ではエラーになる。\\ Visual Studio上のWebブラウザでは動作したが、発行した環境ではエラーになる。\\
it技術/web開発.txt · 最終更新: 2022/10/28 10:22 by yajuadmin