2013-07-30 58 views
9

我有一个预先存在的MVC应用程序,我使用Nuget添加了Web API和Web API自我文档。尽管Web API控制器功能正常(返回对HTTP请求的有效响应),但帮助控制器未找到任何要记录的Web API方法。ASP.Net Web API帮助页面返回空输出

在帮助控制器中,索引操作“Configuration.Services.GetApiExplorer()。ApiDescriptions”返回0结果。

我什至去复制整个“HelpPage”区域从另一个运作的Web应用程序。

ApiDescriptions是什么填充,并有任何配置设置我需要设置暴露我的api文件?


事情我已经尝试:

  • 重新安装的NuGet包
  • 复制了HelpPage区域结束的路线工作项目
  • 复制从工作项目
  • 比较引用从工作项目,以打破项目
  • 将工作项目中的Global.asax.cs与破损项目进行比较
  • 比较web.config中从工作项目的破碎项目
+0

您能分享您的配置路由和未显示的控制器吗? –

+0

它使用默认的Web API路由。没有定制。 –

+0

好的。你可以分享一个控制器(只有声明应该足够了),帮助页面没有显示说明吗? –

回答

7

原来我瞥见MVC 4安装被干扰。这是Glimpse and Web API Help Pages的已知问题。卸载Glimpse修复了这个问题。

+0

我的项目没有Glimpse参考,仍然没有工作。有关它的任何想法? – RKS

3

由威廉所提供的链接还提供了以下解决方法在this comment这工作对我来说:

现在,你可以通过忽略RoutesInspector使用一个简单的解决方法。只需将此添加到您的web.config中:

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"> 
<inspectors> 
     <ignoredTypes> 
     <add type="Glimpse.AspNet.Inspector.RoutesInspector, Glimpse.AspNet"/> 
     </ignoredTypes> 
    </inspectors> 
</glimpse>