【发布时间】:2020-11-11 15:43:55
【问题描述】:
我有一个 ASP.NET Core API,它引用了一个包含 Controller 的 nuget 包。
默认情况下,此控制器已注册并且可以响应请求。但是,我只想在某些情况下添加它 - 例如如果它在 DEV 环境中。
我的Startup 看起来像这样:
services.AddControllers()
.AddMvcOptions(cfg => {
cfg.Filters.Add(new CustomExceptionFilterAttribute())
});
我希望在调用AddCointrollers 后需要调用AddApplicationPart(typeof(ClassInPackage).Assembly) 来注册此控制器?
有人可以建议我启用/禁用此控制器注册的方法吗?
【问题讨论】:
-
这能回答你的问题吗? Conditionally disable ASP.NET MVC Controller
-
@DavidEdel 它会阻止操作方法的执行,但端点仍然会在 swagger 等上可见,所以理想情况下我们也可以将它隐藏在那里..
-
如果像这样的条件指令 #if DEBUG ..... #endif 可以帮助你吗?你也可以使用属性路由。