デバッグ環境では問題がないWebアプリケーションがIISのサイトに配置すると誤動作する

Application Request Routingの影響で、IISのサイトに配置したWebアプリケーションが誤動作する現象を紹介します。

現象

IISのWebサイトに配置したアプリケーションが動作はしますが、ページ遷移の際にエラーが発生しページ遷移できない状態になります。 特にASP.NET Coreアプリケーションで多く発生し、.NET Framework の Web Formアプリケーションでは発生しにくい傾向にあります。
デバッグ環境では再現せず、配置したサーバーでのみ発生します。

原因

いろいろ原因はありますが、配置したサーバーのみで発生する場合では、 リバースプロキシやURLリライトモジュールを利用している環境でトレイリングスラッシュの処理が影響を与える場合があります。

影響を与える設定例

URLの書き換え処理で末尾に / を付加する書き換え処理の設定例です。


ASP.NET Core アプリケーションで誤動作する現象についてはこちらの記事も参照して下さい。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
iPentec all rights reserverd.