如何在调试代码时忽略类属性。

问题描述:

我有一个解决方案,我授权控制器操作的请求。所以如果请求没有被认证,我把用户带到登录页面。如何在调试代码时忽略类属性。

这里的时候,我想测试一些功能我很注释掉授权属性,因为它需要我通过登录过程中的每一次(我想避免,而我在调试模式下)。

我想当我调试代码时避免[Authorize]属性操作。

namespace Student.Controllers 
     { 
    // Avoid Authorize Attribute when in Debug mode. 

      [Authorize] 

      public class StudentController : AppController 
      { 
       } 
     } 

关于如何在调试时避免授权的任何想法(除了注释行之外)。

一种方法是使用Conditional compilation,这是冗长,但仍好于找到和评论的做法,这样

namespace Student.Controllers 
{ 
    // Avoid Authorize Attribute when in Debug mode. 
#if !DEBUG 
    [Authorize] 
#endif 
    public class StudentController : AppController 
    { 
    } 
} 

你不能。您可以编写自己的Authorize属性版本,该属性检查Debugger.IsAttached

您可以做的最好的事情就是创建一个包含所需授权的测试环境。它将使开发比为了这个目标而调整自定义属性更容易。我能想到的

+0

我希望我可以写我自己的授权属性,但作为现在我有owin处理它。但是,对于为此创建测试环境,我同意你的观点(我会在不久的将来尝试)。 –