Asp.net mvc-2 Webサイトをサーバーに展開しました(dotnetpanelを使用)。しかし、このエラーが発生する
A default document is not configured for the requested URL, and directory browsing is not enabled on the server.
必要な設定は何ですか?そのdotnetpanelベースのホスティングサーバー。
ホストが実行されているIISのバージョンは?ルートフォルダにダミーのdefault.aspxファイルを配置することです(MVCの動作中は使用されませんが、削除できます)この問題の)。
マークされた答えはエラーを排除するのに役立ちますが、MVCが機能しなくなります。この問題に対する答えは、system.webServerのweb.configファイルに次の行を追加することです。
<modules runAllManagedModulesForAllRequests="true" />
以下はIIS 7に適用されます
このエラーは、次の2つのいずれかが正しく機能していないことを通知しようとしています。
上記の問題を診断および修正する方法については、次のリンクを参照してください。
http://support.Microsoft.com/kb/942062/en-us
これらの問題のどちらも問題でない場合、チェックするもう1つのことは、Webサイト用に構成されたアプリケーションプールを確認することです(IIS Managerで、Webサイトを選択し、右端)は、web.configで設定されたtargetFrameworkと同じ.Netフレームワークバージョン(IIS Manager、「アプリケーションプール」の下))で設定されます。例:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />
</system.web>
どうしてこれがこのような一見無関係なエラーメッセージを生成するのかはわかりませんが、私にとってはそうでした。
IISを押したときにVisual Studioで使用されるExpressサーバーを使用してASP.NET Webサイトをデバッグしようとしたときに、まったく同じエラーに直面しました。 F5 ウェブサイトを実行します。
Visual Studioでソリューションエクスプローラーを開きます-> Webアプリケーションプロジェクトノードを展開します(私の場合はStudentInfo
)-> Webページ(この場合はStudentPortal.aspx
)を右クリックします。私のウェブサイトが起動します->以下に示すように、コンテキストメニューからSet as Start Page
オプションを選択します。次の実行から動作し始めました。
根本原因:基本的にウェブサイトのデフォルトのドキュメントである開始ページが正しく設定されていないか、開発中に何らかの形で台無しになったと結論付けました。
これは、(私がやったように)バカなことをして、プロジェクトプロパティの「プロジェクトURL」にAPI URL(たとえば http:// localhost:59088/api/Product )を配置した場合にも発生します。 -> [特定のページ]テキストボックスで指定する代わりに[Web]タブ。これにより、Visual Studioは先に進み、ProjectName/api/Productという名前のAPPを作成します。これにより、デフォルトページが期待されます。これを元に戻す唯一の方法は、C:\ Program Files(x86)\ IIS Expressに移動し、appcmd.exeを使用して削除することです
>.\appcmd.exe delete APP "ProjectName/api/Product"
このクラスにデフォルトルートを追加しましたか?
public class RouteConfig {
public static void RegisterRoutes (RouteCollection routes) {`
//"HomePage" is the root view of your app
routes.MapRoute (
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home", action = "HomePage", id = UrlParameter.Optional
}
);
}
}
`その後、Global.asax.csでこの行をApplication_Start()メソッドに追加します。
RouteConfig.RegisterRoutes (RouteTable.Routes);
this postに続いてMVC4からMVC5にアップグレードした後にこの問題が発生し、その行にコメントしていましたが、忘れていた理由があります。
お役に立てれば!
index.aspxという名前のデフォルトページがあり、main.aspxやhome.aspxのようなものではないことを確認してください。また、クラスのすべてのプロパティがデータベースのテーブルのプロパティと完全に一致するであることも確認してください。データベースと同期していないプロパティを削除します。これで問題が解決しました!! :)
私の場合、Microsoft.Owin.Host.SystemWeb
パッケージをインストールする必要がありました。
私はあなたと同じメッセージを受け取っていましたが、Startup.cs
のブレークポイントに到達できず、 thisSOthread 。
犯人は、Global.asaxがmvcプロジェクト内の間違ったディレクトリに配置されているという事実にある可能性があります。私の場合、/ Viewsの下に配置されましたが、プロジェクトのルートフォルダーの下に配置する必要がありました。
あなたの場合、あなたは正反対かもしれません-いくつかのテストを実行して、自分で見てください。