是否可以创建与环境有关的控制器?

时间:2019-03-17 15:45:58

标签: c# asp.net-core

我希望有一个仅适用于特定环境的Web-api控制器,例如开发。

这有可能吗?如果可以的话,我该怎么办?

2 个答案:

答案 0 :(得分:2)

您可以使用#if debug语句包装控制器:

#if DEBUG
<your controller code>
#endif

这样,您将只能在调试版本中访问控制器。

答案 1 :(得分:-1)

我不明白您为什么要使用仅开发者控制器,但类似于@shoter,我也会使用#if而是包装路由。

#if DEBUG
  routes.MapHttpRoute(
    name: "API Default",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
  );
#endif

这样,就不会在生产版本中创建路线。