在ASP.NET中我们使用HttpModule来完成这个任务,这个问题应该在MVC中使用什么?一些全局过滤器,或者我也可以使用HttpModuler,在MVC和常规ASP.NET之间的Request PipeLine有什么区别吗?
解决方法
> OnActionExecuting – 在执行控制器操作之前调用此方法.
> OnActionExecuted – 执行控制器操作后调用此方法.
> OnResultExecuting – 在执行控制器操作结果之前调用此方法.
> OnResultExecuted – 在执行控制器操作结果后调用此方法.
而HttpModule只允许您挂钩到ASP.NET(构建MVC)特定事件:
> BeginRequest – 请求已经开始.如果您需要在请求开始时执行某些操作(例如,在每个页面顶部显示广告横幅),请同步此事件.
> AuthenticateRequest – 如果要插入自己的自定义身份验证方案(例如,针对数据库查找用户以验证密码),请构建一个同步此事件的模块,并以您希望的方式对用户进行身份验证.
> AuthorizeRequest – 此事件在内部用于实现授权机制(例如,将访问控制列表(ACL)存储在数据库中而不是文件系统中).虽然您可以覆盖此事件,但没有太多合理的理由.
> PreRequestHandlerExecute – 此事件在HTTP处理程序执行之前发生.
> PostRequestHandlerExecute – 执行HTTP处理程序后发生此事件.
> EndRequest – 请求已完成.您可能希望构建一个调试模块,该模块在整个请求中收集信息,然后将信息写入页面.
所以这取决于你何时需要挂钩你的活动以及你需要哪些活动.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。