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

电子商务网站开发价格推广网站怎么建

电子商务网站开发价格,推广网站怎么建,北京网站的建立,wordpress-5.6.20下载前些天和张队(善友),lemon(浩洋),斌哥(项斌)等MVP大咖一块儿吃饭,大家聊到了lemon名下的AOP这个项目,我这小白听得一脸懵逼,后面回来做了一下功课,查了下资料,在lemon的Github上把这个项目学习了一下,收获颇丰,让我这个没有接触过AOP的Coder叹为观止,陷入了对lemon的深深崇拜,在… 前些天和张队(善友),lemon(浩洋),斌哥(项斌)等MVP大咖一块儿吃饭,大家聊到了lemon名下的AOP这个项目,我这小白听得一脸懵逼,后面回来做了一下功课,查了下资料,在lemon的Github上把这个项目学习了一下,收获颇丰,让我这个没有接触过AOP的Coder叹为观止,陷入了对lemon的深深崇拜,在这里把学习的新的体会分享给大家.什么是AOP?在软件业AOP为Aspect Oriented Programming的缩写意为面向切面编程通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。有点深奥, 举个栗子如果说之前做的一个系统专门给内部的服务提供接口的,因为是在内网中访问,所以就没有加上认证服务,现在这个系统要公开出来,同样的那套接口要给外部系统服务了,那么此时,就要进行认证,认证通过才能获取接口的数据.传统的做法是,修改每一个接口.这样就会造成代码改动过大,很恐怖. 这个时候AOP就可以登场了,我们可以在这一类服务的前面,加上一个一系列上一刀,在切出来的裂缝里面插入认证方法. 然而,怎么插入这个切面是关键.AOP 实现会采用一些常见方法使用预处理器如 C 中的预处理器添加源代码。使用后处理器在编译后的二进制代码上添加指令。使用特殊编译器在编译时添加代码。在运行时使用代码拦截器拦截执行并添加所需的代码。但是常见还是后处理和代码拦截两种方式后处理或者叫 静态织入指使用 AOP 框架提供的命令进行编译从而在编译阶段就可生成 AOP 代理类因此也称为编译时增强或静态织入。在dotnet 中一般在编译时通过在MSBiuld执行自定义的Build Task来拦截编译过程在生成的程序集里插入自己的IL。dotnet 框架代表 PostSharp 代码拦截或者叫 动态代理在运行时在内存中“临时”生成 AOP 动态代理类因此也被称为运行时增强或动态代理。在dotnet 中一般在运行时通过Emit技术生成动态程序集和动态代理类型从而对目标方法进行拦截。dotnet 框架代表 Castle DynamicProxy 和 AspectCore引用https://github.com/dotnetcore/AspectCore-Framework/blob/master/docs/0.AOP%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D.mdAspectCore-Framework的代码拦截我这里直接应用AOP Demo中的一段代码来说说这个拦截.代码中,其实执行到 await next(context)的时候,才会真正去调用那个被拦截的方法.这样,我们就可以灵活地在代码调用前,调用后做我们想做的事情了.甚至可以把代码包在一个try…catch...中来捕获异常.开始AspcetCore的表演新建一个web应用程序后,从 Nuget 安装 AspectCore.Extensions.DependencyInjection 包.PM Install-Package AspectCore.Extensions.DependencyInjection然后.我们就可以来定义我们的拦截器了,我定义了一个这样的拦截器.当ApiRequest为空或者Name不等于admin的时候之家返回并记录未授权.否则,调用该调用的方法并记录ApiRequest中的Message.然后,我定义一个UserService.在Controler中调用注入UserServce并调用该Service.注册IUserservice并在ConfigureServices中配置创建代理类型的容器:需要注意的是红色背景处,默认的ConfigureService返回类型是空的,我们要修改成为返回类型是IServiceProvider.1.全局拦截我们在上面的ConfigureService配置的AuthenticateInterceptor默认情况下是全局的,即这里的IUserService它会拦截,当然如果新增了一个IRoleServce它也是会拦截的.我把程序运行起来用PostMan访问Api进行测试.下图是Post的数据和返回结果.说明接口是正常工作的,成功地把传过去的Name原样返回.那么拦截器有没有生效呢?我看看CMD的输出.如果我们修改一下Name不等于Admin,预期应该是返回空,并且日志打印出未授权,是不是这样呢?完美,与预期完全相同.可以发现,这正是我们在拦截器中所作的工作,说明拦截器对该UserService生效了.2.作用于特定的Service或者Method的全局拦截器如果我们不想对所有Servce或是Method都拦截,只拦截指定的Servce或者Method呢?其实,我们是可以配置全局拦截器的作用域的.services.AddDynamicProxy(config {                //支持通配符,只对IRole开头的Servce有效config.Interceptors.AddTypedAuthenticateInterceptor(Predicates.ForService(IRole*));});我用以上方法配置为该过滤器只对IRole开头的Servce有效,那么,当我们让问IUserServce时,该拦截器肯定是不会生效的,事实是不是这样呢?即使Name不是admin,结果也返回了,说明确实是没有生效的.还可以用以下方法指定过滤器作用于的Method. //支持通配符,只对Name结尾的方法有效config.Interceptors.AddTypedAuthenticateInterceptor(Predicates.ForMethod(*Name)); 3.全局过滤器忽略配置忽略配置有两种方法一种是为Service或者Method打上[NonAspect] 标签,那个过滤器就不会对该处生效了.public interface IUserService{[NonAspect]String GetUserName(ApiRequest req);}此时,即使Name不等于Admin,也是有结果返回会的.说明此时配置器对GetUserName方法确实没有生效. 另外一种是 全局忽略配置亦支持通配符4.拦截器中的依赖注入对拦截器中有get和set权限的属性标记[AspectCore.Injector.FromContainerAttribute]特性即可自动注入该属性.也可以拦截器上下文AspectContext可以获取当前Scoped的ServiceProvider利用该ServiceProvider来对依赖项赋值.本文只是对AsceptCore最简单的一套流程end to end 地进行了叙述,这还只是AsceptCore的冰山一角.在此向开发处如此牛逼AOP框架的小伙致敬!!欢迎访问https://github.com/dotnetcore/AspectCore-Framework/blob/master/docs/1.%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.md解锁更多新姿势!!! 本博客Demo地址https://github.com/liuzhenyulive/AspceptCoreDemoAsceptCore地址https://github.com/dotnetcore/AspectCore-Framework相关文章AspectCore中的IoC容器和依赖注入使用AspectCore动态代理聊聊AspectCore动态代理中的拦截器一.NET Core微服务之基于PollyAspectCore实现熔断与降级机制原文地址: https://www.cnblogs.com/CoderAyu/p/9906349.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/139982/

相关文章:

  • 专业的网站公司到哪里找会员网站模板
  • 山西城乡和建设厅网站首页应用公园下载
  • 自动优化网站建设电话wordpress 后端
  • 淘客网站怎么做啊做网站是什么工作
  • 新媒体 网站建设 管理规范专门卖医疗器械的网站
  • 高水平建设专业网站微商城网站建设平台合同
  • 策划的网站在哪个网站做一照一码
  • wordpress页面如何排序网站优化推广软件
  • 网站描述和关键词怎么写智慧团建网站pc端
  • 苏州营销型网站建设推广医院做网站备案需要哪些资料
  • 怎么看是哪家做的网站呼市浩特网站建设
  • 如何建设淘宝客网站全网营销包括什么
  • 网站建设服务市场广州市几个区
  • 二手网站建设论文答辩校园官方网站如何制作
  • 高科技展厅效果图设计商丘 峰少 seo博客
  • 太原网站优化工具方法广州天河 网站建设
  • 西安市做网站公司有哪些秦皇岛网站制作
  • 用ps做美食网站河北网站设计制作
  • 怎么做自己网站的APIwordpress memcache
  • 昆山高端网站建设机构公司展厅装修效果图
  • 服务器怎样建设网站中国建设银行货币基金网站
  • 沈阳专业制作网站公司吗万盛集团网站建设
  • 做汽车价格的网站东莞官方网站建设
  • 方案策划网站企业做推广可以发哪些网站
  • 天河网站建设世界建筑设计公司排名
  • 电商网站制作价格和硕网站建设
  • 深圳市门户网站建设哪家好微信小程序案例源码
  • 信息产业部icp备案中心网站asp网站制作教程
  • 品牌网站建设的意义建站公司联系电话
  • 网站建设 备案什么意思哪里有做效果图的网站