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

时间:2015-11-02 09:43:25

标签: c# .net asp.net-mvc

我有一个解决方案,我在其中授权控制器操作的请求。因此,如果请求未经过身份验证,我会将用户带到登录页面。

每次当我想测试一些功能时我都在评论Authorize属性,因为它会引导我完成登录过程(我想在调试模式下避免使用它。)

我想在调试代码时避免[授权]属性操作。

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

            [Authorize]

            public class StudentController : AppController
            {
              }
        }

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

2 个答案:

答案 0 :(得分:1)

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

您可以做的最好的事情是使用您需要的授权创建一个测试环境。只是为了实现这个目标,它将比开发自定义属性更容易开发。

答案 1 :(得分:1)

我能想到的一种方法是使用Conditional compilation,这是详细的,但仍然比查找和评论方法更好,就像这样

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