Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop MVC3-重写基类声明上的属性_Oop_Asp.net Mvc 3_Attributes - Fatal编程技术网

Oop MVC3-重写基类声明上的属性

Oop MVC3-重写基类声明上的属性,oop,asp.net-mvc-3,attributes,Oop,Asp.net Mvc 3,Attributes,我们有一个由所有其他控制器继承的基本控制器和一个自定义RequireHttps属性。此自定义属性具有强制SSL或依赖配置文件中的设置的开关。基本控制器使用此属性进行修饰,并设置为依赖配置设置,这是95%控制器的正确行为。但是,我们有两个控制器,希望将其设置为始终需要SSL。如果我将该属性应用于这些耦合控制器以强制SSL,那么requireHttpAttribute代码将运行两次(可能不是什么大问题,但肯定不理想) 我有没有办法用子类上的属性声明覆盖基类上的属性声明?我想我不能,但我想确定 谢谢大

我们有一个由所有其他控制器继承的基本控制器和一个自定义RequireHttps属性。此自定义属性具有强制SSL或依赖配置文件中的设置的开关。基本控制器使用此属性进行修饰,并设置为依赖配置设置,这是95%控制器的正确行为。但是,我们有两个控制器,希望将其设置为始终需要SSL。如果我将该属性应用于这些耦合控制器以强制SSL,那么requireHttpAttribute代码将运行两次(可能不是什么大问题,但肯定不理想)

我有没有办法用子类上的属性声明覆盖基类上的属性声明?我想我不能,但我想确定


谢谢大家

如何创建另一个自定义属性,该属性将向当前HttpContext中注入一些表示需要SSL的值。然后,您将使用此属性装饰需要作为异常的控制器。然后修改您的自定义RequireHttps属性,在HttpContext中查找该值的存在并强制SSL

您只需确保此新筛选器将在自定义RequireHttps属性之前运行。这可以使用
Order
属性来完成