如何在调试期间为所有方法禁用[RequireHttps]?

Dev*_*per 5 .net c# asp.net-mvc-2

我有一些MVC2网站有很多[RequireHttps].

但是当我调试它时,我必须在不同的地方(控制器)评论它们中的许多.代码准备好后,我必须删除所有注释.

所以需要时间,有时我忘了取消注释[RequireHttps]:)

我的问题是哪个是解决此问题的最佳做法?

谢谢!

kev*_*ner 10

如果您不想#if在每次使用时键入语句,则可以在调试版本中创建一个无操作的新属性,并RequireHttps在发布版本中创建一个简单的子类:

#if DEBUG
public class ReleaseRequireHttpsAttribute : Attribute
{
    // no-op
}
#elif
public class ReleaseRequireHttpsAttribute : RequireHttpsAttribute
{
    // does the same thing as RequireHttpsAttribute
}
#endif
Run Code Online (Sandbox Code Playgroud)

然后简单的查找和替换每个[RequireHttps][ReleaseRequireHttps]和使用新的方法.


use*_*736 3

我将使用#if (C# 参考)并进行调试和发布配置:

然后你:

#if RELEASE
    [RequireHttps]
#endif
void methodHere()
{
...
}
Run Code Online (Sandbox Code Playgroud)