web-dev-qa-db-ja.com

ASP.Net MVC4アプリケーションをIIS 6-バンドルが機能していない

IIS 6を実行しているWindows2003マシンに展開しようとしているASP.NetMVC 4アプリケーションがあります。別のアプリプールで実行されており、asp.netを使用するように設定されています。 4.0。ページを表示するために必要なaspnet_isapi.dllへのワイルドカードアプリケーションマッピングがあります。

私たちが今遭遇した問題は、asp.net mvc4の一部であるバンドルが機能していないことです。/js?v = ASDfljkFSDlkjDSFリンクをたどろうとすると、404が返されます。

拡張機能のないURLを使用していることはわかっていますが、間違っていない場合は、ワイルドカードアプリケーションのマッピングで処理する必要がありますか?

誰かがこれを機能させたり、何かアイデアがありますか?

1
ShaneC

これはしばらく前のことですが、バンドルテーブルを使用するWebフォームアプリでこの問題が発生しました。それはそれ自身のサイトとして機能し、仮想ディレクトリの下にはありませんでした。 IISはバンドルをどこで入手できるかわかりませんでした(ShaneCが言ったように)。

仮想ディレクトリ->構成->マッピングのプロパティで、「C:\ WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll」にワイルドカードエントリを挿入し、ファイルが存在することを確認するチェックボックスをオフにしました。

これは私のために働いた。

1
Jimbob Johnson

IIS6は、/js?blahblahblahのような拡張URLのリクエストを処理するハンドラーを認識しないため、ファイルが静的であると想定し、ファイルを探して見つけることができず、404を返します。

回避策については この投稿 をチェックしてください

0

問題は、ASP.Net2.0用に構成された既定のWebサイトでASP.Net4.0用に構成された仮想ディレクトリとして実行していたことでした。

新しいWebサイトを作成し、それをasp.net 4.0に設定すると、すべてが完全に機能しました。 Haacked のこの投稿によると、拡張子のないURLは、IIS 6のほとんどのインスタンスで機能するはずです。

0
ShaneC