2013-04-14 45 views
4

使用Visual Studio 2012中的内容:Web服务器被配置为不列出该目录

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

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

我做了什么错?

+0

你可以浏览到/ _fubu /并看到你的路线? – ulu

回答

1

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

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

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

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

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

1

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

中的Application_Start()(或任何它真的叫),你需要像

所以:。

FubuApplication.DefaultPolicies()StructureMap(新集装箱())自举();

如果你告诉它: 1)什么是政策/约定使用 2)什么是你的IoC容器

+0

“ASP.NET空Web应用程序”项目没有'Global.asax'。 FubuMVC NuGet包添加了一个指向“AppStartFubuMVC.Start”的“WebActivator.PreApplicationStartMethod”属性。 –

+0

...成功运行。这指向'ConfigureFubuMVC',它也可以成功运行。基本上,NuGet包和/或文档中缺少一些东西。 –

0

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

1

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

在这种情况下,浏览到'/ unit'将导致此错误,因为IIS认为我试图列出'单元'文件夹的内容。重命名端点或文件夹以消除冲突会解决它(例如,将'单元'文件夹重命名为'单元')。

+0

全新项目。 –

2

试试这个 CMD =>别忘了以管理员身份运行

%WINDIR%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_REGIIS.EXE -ir

相关问题