0

これを短くしようと思います。詳細についてはお気軽にお問い合わせください。

モバイル版のWebサイトはMV3かみそりを使用して作成され、拡張のないURLを使用してIIS6Webサーバーに展開されています。.NET4がサーバーにインストールされているため、拡張機能のないURLを機能させるためにサーバーで特別な構成を行う必要はありません。URLを使用してサイトにアクセスしようとするとhttp://site/m/404 Not Foundエラーが発生します。

この問題を引き起こすために私がすること:

  1. VS2010でプロジェクトを右クリックし、ローカルファイルシステムに公開します。
  2. すべてのファイルを圧縮して本番サーバーに転送し、そこで解凍します
  3. 本番Webサイトを右クリックして、新しいアプリケーションの仮想ディレクトリを追加します
  4. すべてのデフォルト設定で新しいアプリケーションプールを作成します
  5. 新しい仮想ディレクトリ/アプリケーションをそのアプリケーションプールに配置します
  6. ブラウザでURLにアクセスしてみてください。受け取る404 Not Found

私を困惑させるのは、ステップ1を「ファイル->新しいMVC3プロジェクトの作成」に置き換えてから、ローカルファイルシステムに公開すると、すべてが正常に機能することです。

  1. テストプロジェクトは、私が使用した名前でブラウザに表示されますhttp://site/mvctest/
  2. 拡張機能を使用する必要はありません
  3. 20分経っても動作を停止しません(次の段落を参照)

そして今、(さらに)奇妙な部分について:

ここで、「m」アプリケーションを「mvctest」アプリケーション用に作成したばかりのアプリケーションプールに移動すると、それも機能します。ただし、20分間(または「アイドル状態になった後のワーカープロセスのシャットダウン」に設定した値)のみです。

何か案は?

編集:仮想ディレクトリにワイルドカードマッピングを追加する/m/と機能しますが、パフォーマンスに悪影響を与える可能性がありますか?

4

1 に答える 1

0

ハンドラーが mvc リクエストを処理するように設定されていない最初のシナリオのようです。IIS 6 を統合するか、MVC の拡張機能をマップする必要があります。統合パイプライン モードで実行するようにアプリ プールを設定します。その後どうなりますか?これはうまくいくはずです。また、ワーカー プロセスのリセットによるラピッド フェイル プロテクションの開始については、イベント ログを確認してください。

于 2011-06-07T21:15:42.907 に答える