继承后,是否包含要求https?

时间:2012-08-09 22:45:57

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

定义:

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

用于:

public class GlobalCrudController : AdminAuthorizeController

这是否可以确保GlobalCrudController在未处于DEBUG模式时具有[RequireHttps]标记?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

是的,因为此attrib已应用于RequireHttpsAttribute:

[AttributeUsage(AttributeTargets.Class, Inherited=true)]

答案 2 :(得分:1)

是的,RequireHttps属性有inherited property“true”。

你的病情不会影响遗产。

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