首页 新闻 会员 周边

关于Asp.Net Mvc中FIlter的问题

0
悬赏园豆:15 [已解决问题] 解决于 2016-09-09 17:12

如果要在某个行为前执行一定的操作,我们都知道自己写一个类,继承ActionFilterAttribute,重写OnActionExecuting方法,就可以了。

但是今天发现自己写一个类实现IActionFilter这个接口,然后实现OnActionExecuting方法也可以达到效果。

那么问题来了,在实际运用中,到底是继承重写方法,还是实现接口比较好?
比较纠结。
如果可以的话说一下好在哪里?有什么优缺点

KotobukiTsumugi的主页 KotobukiTsumugi | 初学一级 | 园豆:23
提问于:2016-09-09 10:22
< >
分享
最佳答案
0

派生ActionFilterAttribute是一个快捷方式

他会自动帮你继承实现FilterAttribute, IActionFilter, IFilter

省的你自己多写一些代码

收获园豆:15
刘宏玺 | 专家六级 |园豆:14020 | 2016-09-09 16:09
其他回答(2)
0

你看看

ActionFilterAttribute继承自什么。。。

另外,知道可以,用就行了嘛,纠结那么多干嘛???其实如果你在asp.net中配置过类似IHttpModule或者IHttpHandler,知道他俩的区别,对应看看跟这个Filter有哪些相似的地方,然后知道怎么用就行了。

顾晓北 | 园豆:10844 (专家六级) | 2016-09-09 10:36

我知道ActionFilterAttribute 实现了IActionFilter这个接口,
但是为什么微软提供2个呢?
总要有区别的吧

支持(0) 反对(0) KotobukiTsumugi | 园豆:23 (初学一级) | 2016-09-09 10:37

虽然用是可以,但是没弄明白是不行的。

支持(0) 反对(0) KotobukiTsumugi | 园豆:23 (初学一级) | 2016-09-09 10:38

@扶着往事走: 既然同继承自这个接口,那就是了,那你就可以认为:其实根本的是这个接口。。。就行了。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-09-09 10:39

@顾晓北: 那么微软为什么还提供一个抽象类?
有什么特殊作用吗?
实际开发中用哪个?

支持(0) 反对(0) KotobukiTsumugi | 园豆:23 (初学一级) | 2016-09-09 10:40
0

区别就是:一个是实现一个是接口.2个都能用说明是这个接口的功能.

正好actionfilter实现了这个接口也就具备了这个功能.

至于你纠结的2个用哪个好...当然是看心情.爱用哪个用哪个.

吴瑞祥 | 园豆:29449 (高人七级) | 2016-09-09 10:39

实际开发中用哪个? 既然都一样 为什么还提供一个抽象类?

支持(0) 反对(0) KotobukiTsumugi | 园豆:23 (初学一级) | 2016-09-09 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册