WebAPI帮助页面:禁用生产版本

Goo*_*nuf 15 c# rest asp.net-web-api asp.net-web-api-helppages

我在VS 2010中使用旧的WCF框架开发了许多内部REST接口.它生成帮助页面的能力对于DEV和QA平台来说很方便,但是对于生产版本,很容易禁用这些帮助页面的生成在web.config文件中:

<standardEndpoint name="" helpEnabled="false" automaticFormatSelectionEnabled="true"/>
Run Code Online (Sandbox Code Playgroud)

我现在正在转而使用WebAPI框架(目前在VS 2012上的版本1),但是关闭此功能似乎并不简单(即我找不到任何有关如何执行此操作的信息)一个web.config文件).

当然,我可以继续在代码本身内手动执行此操作,但肯定有一种更简单的方法; 类似于WCF如上所述的做法.我想使用web.config文件方法,因为我已经为其他设置准备了web.release.config转换文件.

任何关于此的最佳实践的想法将不胜感激.

Far*_*arb 7

打开Global.asax.cs,修改您的代码,如下面的代码段:

#if DEBUG
   AreaRegistration.RegisterAllAreas();
#endif
Run Code Online (Sandbox Code Playgroud)

由于帮助页面位于名为"HelpPage"的区域中,因此我们可以通过发布或生产环境中的上述代码忽略它.


Kir*_*lla 6

对于基于web.config的启用或禁用helppage,Web API没有开箱即用的支持.

您可以考虑一些选项:

  • 由于HelpPage作为MVC区域安装,因此在部署到生产环境时,您可以只排除此HelpPage文件夹.

  • 创建一个动作过滤器,按照此处的建议返回404:有条件地禁用ASP.NET MVC Controller

注意:对于上述情况,如果您使用的是默认Web API模板,那么您需要显示/不显示Help导航栏中的链接的其他步骤.