マネージパイプラインモードの統合について(Managed Pipeline Mode)
ASP.NET 設定が、統合されたマネージ パイプライン モードで適用されないことが検出されました。
ASP.NET 2.0 の互換性について
ASP.NET 2.0 時台に作成したアプリケーションを、マネージパイプラインモードが「統合」に設定されたアプリケーションプールにアタッチするとアプリケーションが開始できない。マネージパイプラインモードを「クラシック」に設定するか(推奨されない)、Web.config の設定を変更する必要がある。今回のケースでは、以下の要素を追加したところ動作するようになった。
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>以下に細かいガイドラインがある。
IIS 7 での ASP.NET 2.0 の互換性に影響する変更点
https://technet.microsoft.com/ja-jp/library/ff454090.aspx
Ajax.NET の互換性
validateIntegratedModeConfiguration="false" を Web.config に追記することで統合モードでの動作は確認できた。しかし、この状態では AJAX.NET が動作しない。[Ajax.AjaxMethod] 属性を付与したクラスを動作させるためには、さらに Web.config に追記する必要がある。<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules> <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </modules> <handlers> <remove name="WebServiceHandlerFactory-Integrated" /> <add verb="POST,GET" name="Ajax" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </handlers> </system.webServer>