【发布时间】:2020-08-11 19:55:06
【问题描述】:
我想过滤我的控制器以在 NET 5 预览版中删除处于 RELEASE 模式的测试控制器。 看起来过滤器类中的一切工作正常(为“TestingController”返回 false),但我的控制器在 RELEASE 模式下仍然可用。
我从一个类库项目中使用这个过滤器类:
public class TestingControllerFeatureProvider : ControllerFeatureProvider
{
public TestingControllerFeatureProvider()
{
}
protected override bool IsController(TypeInfo typeInfo)
{
if (typeInfo != null && typeInfo.Name.ToLower().Contains("testing"))
{
return false;
}
return base.IsController(typeInfo);
}
}
以及startup.cs中的这段代码:
IMvcCoreBuilder MVC = services.AddMvcCore();
#if RELEASE
MVC.ConfigureApplicationPartManager(m =>
{
m.FeatureProviders.Add(new TestingControllerFeatureProvider());
});
#endif
我做错了什么?感谢您的帮助!
【问题讨论】:
-
什么情况下需要删除包含‘testing’的控制器
-
@YiyiYou 在调试模式下我有帮助控制器来管理使用 cypress 测试器在单独的 razor 类库中的测试方法。我想在发布模式(生产中)禁用这些控制器。
标签: c# asp.net-core model-view-controller class-library .net-5