記事の個別表示(修正可)
タイトル  IISで出るエラー
本文  
 ASP.NETを始めようとすれば、一つのパソコン上で、Web Deloper ExpressとIISの2つを使う。ASP.NETでプログラムを書くなり、参考書に掲載されているプログラムを試すなりする。次に、それをIISにコピーするなりして、動作を確認する。

 所が、IISの使い方が、今一分かりづらい。初めの内は、問題も無く動作するが、データベースなど、プログラムが複雑化すると、Web Developerでは、動作したのに、IISでは、動作しない。アプリケーションプールを変えると、動作する事も有ったり、無かったり。なんだこれは、と訳が分からないとぐろにハマる。

 IIS単独で仕立てたパソコンでは、動作するが、何故か開発用に仕立てたパソコンでは、エラーが出る。そんな時、ネットで目にした対策が、役に立った。実際多くのこうした問題は、これ一つで何とかなる場合が多かった。

 Web Developer上は動作しても、IIS上では、「HTTP エラー 500.22 - Internal Server Error  ASP.NET 設定が、統合されたマネージ パイプライン モードで適用されないことが検出されました。」などと出る場合には、まさにこれだと、言える。

 対策は、Web.configファイルに、次の事を追加する。これは、開発環境ばかりでなく、これが書き込まれたままでも、プログラムをサーバに移しても、エラーにもならずに、動作した。

<configuration>
<!-- 

・・・・・・・・・
以下を追加  -->

    <system.webServer>
     <handlers>
            <remove name="PageHandlerFactory-ISAPI-2.0" />
            <remove name="PageHandlerFactory-Integrated" />
       <add name="MRWebResource" preCondition="integratedMode" path="MRWebResource.axd" type="GrapeCity.Web.MultiRow.MRWebResource" verb="GET" />
            <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
            <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
     </handlers>
     <validation validateIntegratedModeConfiguration="false" />
   </system.webServer>

<!-- ここまで -->

</configuration>

...21222324252627282930...