当前位置: 首页 > news >正文

莞城网站建设网页制作基础教程第2版电子教材

莞城网站建设,网页制作基础教程第2版电子教材,网站建设成本核算,钦州浦北网站建设ASP.NET Core MVC 中的 Filters 允许我们在 请求处理管道 中的某一个阶段的之前和之后执行自定义代码#xff0c;不同类型的 filter 对应着 请求处理管道 的不同阶段#xff0c;比如说#xff1a;ActionFilter 可以在 Action 方法的之前或者之后执行自定义代码#xff0c;这… ASP.NET Core MVC 中的 Filters 允许我们在 请求处理管道 中的某一个阶段的之前和之后执行自定义代码不同类型的 filter 对应着 请求处理管道 的不同阶段比如说ActionFilter 可以在 Action 方法的之前或者之后执行自定义代码这篇文章我们就来讨论 ASP.NET Core MVC 中内建的 ActionFilter为什么它非常有用以及在程序中如何使用它。Filter 过滤器 其实在 ASP.NET Core MVC 中有很多的内建 filter大体罗列如下ActionFilters它会在 Action 方法的执行前和执行后 执行。AuthorizationFilters它会在 请求处理管道 的开始处被执行主要用来获取用户的 凭证信息 来验证用户是否被授权。ResourceFilters它会在 authorization 之后 和 模型绑定 之前被执行可以利用它实现一些缓存逻辑。ExceptionFilters它会捕捉到 请求处理管道 中的所有异常所以可用它来实现一些自定义的异常处理。到底用哪一种类型的 filter还是取决于你到底想实现什么业务举个例子如果你想 短路 request提前结束 pipeline 管道返回结果是不是就可以用 ResourceFilters 哈再举一个例子如果你想修改 Action 的入参 并且想对 Action 的结果进行修改那么 ActionFilter 就是你的最佳选择。ASP.NET Core MVC 中有一个特性叫 ActionFilterAttribute它实现了如下接口 IActionFilter, IAsyncActionFilter, IResultFilter, IAsyncResultFilter, IOrderedFilter可以利用它实现不同层级的Filter如Action级Controller级全局级稍后我们将会一一讨论。创建自定义的 ActionFilter 你可以利用自定义的 ActionFilter 在 Action 方法的前后执行一些可复用的逻辑或许大家都知道这就是所谓的 AOP 编程除了 ActionFilterAttribute 还有其他几个 Filter 也有类似的 Attribute。ResultFilterAttributeExceptionFilterAttributeServiceFilterAttributeTypeFilterAttribute除了上面这些快捷特性最简单粗暴的就是实现 IActionFilter 接口 还可以实现 同步 和 异步 双模式。创建同步的 ActionFilter 下面的代码片段展示了如何创建同步模式的 ActionFilter继承 IActionFilter 接口并实现它的 OnActionExecuting 和 OnActionExecuted 两个方法。public class SimpleActionFilter : IActionFilter{public void OnActionExecuting(ActionExecutingContext context){//this method will be executed before execution of an action method }public void OnActionExecuted(ActionExecutedContext context){//this method will be executed after an action method has executed }}创建异步模式的 ActionFilter 下面的代码片段展示了如何创建异步模式的 ActionFilter继承 IAsyncActionFilter 接口并实现它的 OnActionExecutionAsync 方法。public class SimpleAsyncActionFilter : IAsyncActionFilter{public async Task OnActionExecutionAsync(ActionExecutingContext context,ActionExecutionDelegate next){//code written here will be executed before execution of an action method await next();//code written here will be executed after execution of an action method }}配置 ActionFilter 文章之前也说过了可以将 filter 过滤器 添加到不同级别的作用域中这些作用域包括action级 controller级global级这里就来演示如何将 filter 添加到 global级 仔细观察一下我的 自定义filter 是如何添加到 ConfigureServices 方法下的 filter集合 中如下代码所示public void ConfigureServices(IServiceCollection services){services.AddMvc(options {options.Filters.Add(new SimpleAsyncActionFilter());}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);}除了上面的方法还可以用 typeof 的方式加入到 options 中如下代码所示public void ConfigureServices(IServiceCollection services){services.AddMvc(options {options.Filters.Add(typeof(SimpleAsyncActionFilter));}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);}总结一下过滤器允许我们在 请求处理管道 中的某一个点的前后执行一些自定义代码而且 ActionFilter 还有一个非常大的新改进是可以在 Http 请求管道中指定过滤器的执行顺序关于更多的 filter 的高级特性我会在后面的文章中和大家一起分享。译文链接https://www.infoworld.com/article/3328648/how-to-use-action-filters-in-aspnet-core-mvc.html
http://www.zqtcl.cn/news/632138/

相关文章:

  • 手机必备软件100个网站建设和优化排名
  • 天津公司网站怎样制作网页设计图片尺寸
  • 网站建设中模板代码网络营销推广公司哪家好
  • 百度免费建立网站搜索引擎推广效果
  • 网站建设分金手指排名十二建设内容管理网站的目的
  • 无锡网站策划制作网站的工具
  • 免费的网站开发软件百度做网站推广的费用
  • 汽车维修东莞网站建设怎么用阿里的域名 做网站
  • 网站怎么做免费cosy WordPress
  • wordpress 关闭自动更新青岛济南网站建设优化
  • 外贸网站推广平台哪个好如何建设手机端网站
  • linux新建网站巩义网站建设定制
  • 网站建设要什么软件有哪些北京seo
  • 空调设备公司网站建设wordpress 4.9
  • 潮州市网站建设公司网页设计代码模板素材
  • 深圳做网站开发费用个人网页设计作品手绘
  • 怎样做网站跳转国内企业建站模板
  • 优化网站哪个好互联网公司市值
  • 广州微信网站开发游戏企业用什么程序做网站
  • 深圳赶集同城网站建设网站空间类型
  • 怎么样做网站代wordpress手机上传图片插件
  • 西安做网站xamokjwordpress 酒业模板
  • 做微博网站如何开网店卖自己的东西
  • 黄骅市有什么好玩的地方常州百度seo排名
  • 做英语在线翻译兼职网站公交建设公司的官网
  • 做网站需要什么电脑律师事务所在线咨询免费
  • 网站建设推广公司需要哪些岗位建站模板源码
  • 网站深圳优化建设购物网站模版
  • 网站后端用什么软件做广西城乡建设部网站首页
  • wordpress android客户端湛江网站关键词优化