0

非常に単純な ASP.NET MVC 4.0 Web サイトがあります。1 つのパラメーター ("string id") を受け取る 1 つのアクション ("Index") を持つ 1 つのコントローラー ("HomeController") があります。この種のルートはデフォルトで処理されるため、global.asax ファイルは変更していません。アクションは単にユーザーにファイル (PDF) を「送信」するだけなので、このアクションのビューは作成していません。Visual Studio 内からサイトを実行すると (プロジェクト プロパティで "home/index/3" の既定のページを使用)、ページは正常に実行されます。ただし、サイトをテスト サーバー ( https://ourserver.com/mysite/home/index/3 ) に公開すると、404 -- ファイルまたはディレクトリが見つかりません。

: このサーバーでは IIS7.5 を実行しています。

更新: bin ディレクトリ (および適切な DLL、つまり、プロジェクトにちなんで名付けられたもの) と web.config ファイルがあります。

では、なぜこれが機能しないのでしょうか。

4

1 に答える 1

1

古いバージョンの IIS を使用していて、ルーティングを可能にする MVC サーバー拡張機能をインストールしていない場合は、必要なインフラストラクチャ ファイルのBIN 展開を行うことができます。

編集: IIS 7.5 を実行している場合は、必要なものがすべて揃っているはずです。web.config ファイルや dll が表示されないとおっしゃいましたが、どのように公開しましたか? パブリッシュ ディレクトリのルートに web.config があり、dll を含む bin フォルダーが必要です。

Web プロジェクトを右クリックして [発行] を実行すると、ローカル ディレクトリに発行できます。これは、展開時に表示されるものとまったく同じです。

編集 2: IIS で単なるサイトではなく Web アプリケーションとして構成されていることを確認しましたか?

于 2013-09-18T21:56:38.090 に答える