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

丰镇市网站丰镇高铁在哪个位置建设动感技术网站建设

丰镇市网站丰镇高铁在哪个位置建设,动感技术网站建设,网站页面图片布局如何设计,做模板网站的公司上一篇ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)我们讲了如何将默认的容器替换为Autofac,并使用属性注入.那么这一篇我们就来讲讲如何利用Autofac实现我们的AOP(面向切面编程) .1.引用正确的库来实现AOP既然是跨平台,那么在asp.net core因为采… 上一篇ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)我们讲了如何将默认的容器替换为Autofac,并使用属性注入.那么这一篇我们就来讲讲如何利用Autofac实现我们的AOP(面向切面编程) .1.引用正确的库来实现AOP既然是跨平台,那么在asp.net core因为采用了.net core来作为基础库(当然,其实你可以换成.NET4.6.).新的.NET Core是基于.NET Standard的..所以我们在引用库的时候特别要注意相关的兼容问题.在传统的ASP.NET中,使用过Autofac来进行AOP操作的,应该都知道这个库.Autofac.Extras.DynamicProxy那么我们来看看它的依赖项.如图:在.NET Standard的情况下,他需要Autofac4.0,这个就不多说了.关键在下面这个,他需要Castle.Core4.0.所以,当我们直接安装这个库的时候,Nuget会自动关联并安装最新的Castle.Core4.2.1版本..那么问题就出现了..在项目的依赖项中,会发现很多警告: 我们进入警告会发现..都是提示缺少兼容的最新的类型转换类.如图:而且Castle.Core是属于AutoFac下面的..如图:我们直接通过Nuget查找Castle.Core.可以发现,它需要System.ComponentModel.TypeConverter4.3..我们直接安装它,Nuget则会直接帮我们把System.ComponentModel.TypeConverter更新到4.3的版本..然后重新通过Nuget安装Autofac.Extras.DynamicProxy..就可以了.如图: 其实这应该算一个Nuget的BUG..它会帮你引用库的相关依赖..但是当依赖还有依赖需要更新的时候..它就不会更新..这个时候我们换一种思维..返回来 一步步引用.就可以了.. 2.采用Autofac来实现AOP首先,我们创建一个拦截类,代码如下:public class AOPTest : IInterceptor    {        public void Intercept(IInvocation invocation)        {            System.Diagnostics.Debug.WriteLine(你正在调用方法 \{0}\  参数是 {1}... ,               invocation.Method.Name,                             string.Join(, , invocation.Arguments.Select(a (a ?? ).ToString()).ToArray()));            //在被拦截的方法执行完毕后 继续执行                       invocation.Proceed();            System.Diagnostics.Debug.WriteLine(方法执行完毕返回结果{0}, invocation.ReturnValue);        }    }这里,需要继承IInterceptor,然后实现它的Intercept方法..我们直接将拦截内容输出到调试窗(正式项目..请根据业务来操作拦截)..找到我们要拦截的服务.并设置拦截特性(有多种方式.用特性的方式作为例子..个人也觉得特性AOP拦截比较方便),代码如下:[Intercept(typeof(AOPTest))]    public class TestService: ITestService    {        public TestService()        {            MyProperty Guid.NewGuid();        }        public Guid MyProperty { get; set; }        public Liststring GetList(string a)        {            return new Liststring() { LiLei, ZhangSan, LiSi };        }    }然后在容器中注入我们的AOP拦截类,并开启服务的拦截状态.代码如下:public class DefaultModule : Module    {        protected override void Load(ContainerBuilder builder)        {            builder.Register(c new AOPTest());            builder.RegisterTypeTestService().AsITestService().PropertiesAutowired().EnableInterfaceInterceptors();        }    }这里注意,一定要在你注入的服务后面加上EnableInterfaceInterceptors来开启你的拦截.然后在控制器中调用服务的方法,代码如下:public class AutoDIController : Controller    {        public  ITestService _testService { get; set; }                // GET: AutoDI        public ActionResult Index()        {            ViewBag.date _testService.GetList(Name);            return View();        }}然后我们运行代码.效果如下:这样,我们就完成了使用Autofac进行AOP拦截..Autofac的AOP拦截器还有很多功能与用法.我这里就不一一举例了..请参考官网:http://docs.autofac.org/en/latest/advanced/interceptors.html相关文章ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器)ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)AspectCore中的IoC容器和依赖注入DIP原则、IoC以及DI全面理解 ASP.NET Core 依赖注入依赖注入和控制反转ASP.NET Core 2.0 依赖注入AspectCore中的IoC容器和依赖注入ASP.NET Core依赖注入解读使用Autofac替代实现拥抱.NET Core系列依赖注入1拥抱.NET Core系列依赖注入2学习ASP.NET Core你必须了解无处不在的“依赖注入”原文地址:https://www.cnblogs.com/GuZhenYin/p/8301500.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://wiki.neutronadmin.com/news/408170/

相关文章:

  • 如东网站开发中国建设银行有哪些招聘网站
  • 网站制作需要平台wordpress安装出错
  • 电子商务官方网站建设网站开发的英文书有什么软件
  • 网站建设会计处理广州市研发网站建设价格
  • 自己主机域名网站开发网站注册系统用什么做
  • 网站实名制注册怎么做北京和君网站建设
  • 大同网站建设推广留言的网页怎么制作
  • 网站建设top图网站建设与维护的软件
  • 产品设计网站制作《新闻联播》 今天
  • 网站 建设可行性报告宜宾建设机械网站
  • 24小时自动发货网站建设wordpress 文字环绕
  • 网站空间企业个人室内设计平台接单
  • 怎样做一个网站平台网站设计公司长沙公司
  • 网站查询入口施工企业对下结算容易出现的问题
  • 爱站网主要功能遵义网约车最新消息
  • 天津做网站推广的公司国外设计网站pinterest怎么打不开
  • 网站域名查主机名大武口网站建设
  • 天蓝色网站openshift做网站
  • 学校网站建设介绍天元建设集团有限公司技术中心
  • 地方社区网站 备案网站开发需求预算
  • 深圳网站搭建费用从seo角度做网站流量
  • 自己做网站seo优化wordpress分类自定义字段
  • 网站建设和维护工作总结镇江企力信息有限公司
  • 公司网站制作费用申请电子商务网站建设与运营
  • 儿童衣服刘涛做代言那个是什么网站福州seo公司
  • 京东商城 网站建设建立一个网站的流程
  • 简单好看个人主页网站模板旅游网站建设风险分析
  • 网站建设丶金手指花总12工业设计研究生院校排名
  • 什么网站程序做资料库wordpress导航页
  • 五台网站建设长安网站建设软件开发