4

使用 Visual Studio 2012:

  1. 我创建了一个“ASP.NET 空 Web 应用程序”(使用 C#)。
  2. 我使用 NuGet 安装FubuMVC包。
  3. 当我运行应用程序(使用 IIS Express)时,我得到“欢迎来到 FubuMVC!” 页面告诉我删除FubuMVC.GettingStarted.dll文件并设置主页。
  4. 所以我做了这两件事,实现了一个HomeController简单地"Hello World"Index.

我得到一个 IIS 错误,而不是预期的“Hello World”:The Web server is configured to not list the contents of this directory.

我做错了什么?

4

5 回答 5

2

试试这个 cmd => 不要忘记以管理员身份运行

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

于 2013-11-12T08:42:21.050 回答
1

您是否在 Global.asax 中激活了 FubuMVC?当没有 FubuMVC 应用程序时,我通常会看到该错误。

所以在 Application_Start() (或任何它真正的名字)中,你需要类似的东西:

FubuApplication.DefaultPolicies().StructureMap(new Container()).Bootstrap();

你在说什么:1.) 使用什么政策/惯例 2.) 你的 IoC 容器是什么

于 2013-04-14T18:22:00.887 回答
1

通常,如果我遇到这种情况,那是因为我与项目中的路线和文件夹发生冲突。例如,我可能有一个名为“Unit”的文件夹,在其中我有一个名为“UnitEndpoint”的类,其方法为“get_unit”(假设我使用的是 FubuMVC 默认值,它应该映射到“/unit”作为路由)。

在这种情况下,浏览到“/unit”将导致此错误,因为 IIS 认为我正在尝试列出“Unit”文件夹的内容。重命名端点或文件夹以消除冲突将修复它(例如,将“Unit”文件夹重命名为“Units”)。

于 2013-04-15T23:45:34.183 回答
1

刚刚尝试用一个全新的项目重现您的问题;事实证明,问题在于示例中的说明没有跟上 FubuMVC 中的更改。

说明告诉您创建一个名为“MyHomeController”的类并向其添加 Index() 方法。这曾经有效,因为路由的默认规则之一是使用名称以“Controller”结尾的任何类。

但在较新的版本中,默认值已更改,该规则现在查找以“EndPoint”结尾的类。

因此,如果您将类的名称从“MyHomeController”更改为“MyHomeEndpoint”,它应该可以工作。

另外,请记住,应用程序池需要重新启动才能使新配置生效,因此您可能需要修改 web.config(或强制 IISExpress 重新启动)。

于 2013-04-20T05:24:07.400 回答
0

我建议您重新编译您的应用程序或至少触摸您的 global.asax - 看起来您需要重新运行 App_Start 方法。

于 2013-04-15T16:05:12.227 回答