2

定义:

#if !DEBUG
        [RequireHttps]
#endif
[Authorize(Roles="Admin")]
public class AdminAuthorizeController : Controller { }

用过的:

public class GlobalCrudController : AdminAuthorizeController

这会确保在不处于调试模式时GlobalCrudController将具有[RequireHttps]标记吗?

4

3 回答 3

2

是的,有这个参数。在这种情况下,属性在 C# 中被继承。像您使用的那样的条件编译语句非常简单。如果语句为真,它将包含代码,否则不会。

于 2012-08-09T22:50:28.367 回答
1

是的,因为这个属性已经应用于 RequireHttpsAttribute:

[AttributeUsage(AttributeTargets.Class, Inherited=true)]
于 2012-08-09T22:52:08.407 回答
1

是的,RequireHttps属性具有继承属性“true”。

您的情况不影响继承。

但是您可以编写自己的属性来避免这种继承,就像在这个例子中一样 - https://stackoverflow.com/a/747208/775779

于 2012-08-09T22:54:29.440 回答