IOC容器MEF在MVC中的使用
最近想把自己的网站框架用IOC改造下,经过对比,我初步选择autofac,虽然MEF不需要配置,但性能不行,autofac虽然需要自己写自动化注入,但性能非常好。
先分析下各大IOC框架的性能,分两类测试,一类是单例,一类的每次注入新的对象。
MEF本来也测试了,但代码放公司,就懒得跑了,性能最好的前三是:Nlite,autofa,MEF,但NLite太轻量了,提供的API不太能满足实际需求,本来打算用MEF,配置简单,但下面的测试让我最终选择了autofa
但今天在并发性测试的时候,发现MEF在高并发情况下会出现未知异常,在使用OutputCache的情况下,使用Lazy模式加载对象会出现性能不好,且急剧下降和不稳定的情况,有少量500错误。
非lazy模式更悲惨,在开始能保持6000多的并发,但一会之后不堪入目啊,还有未知500错误。
在不使用outputcache的情况下,使用IOC的响应时间稍好,但用测试工具跑一会之后会出现错误
用autofac测试无任何错误
IOC容器MEF在MVC中的使用的更多相关文章
- IOC容器-Autofac在MVC中实现json方式注入使用
在你阅读时,默认已经了解IOC和autofac的基本用法, 我在最近的我的博客项目中运用了IOC autofac 实现了依赖注入 由于我的项目时asp.net MVC所以我目前向大家展示MVC中如何使 ...
- .NET自带IOC容器MEF之初体验
.NET自带IOC容器MEF之初体验 本文主要把MEF作为一种IOC容器进行讲解,.net中可用的IOC容器非常多,如 CastleWindsor,Unity,Autofac,ObjectBuil ...
- .net自带的IOC容器MEF使用
IOC能做什么 IoC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合.更优良的程序. 控制反转: 将控制权移交给第三方容器 new 操作 依赖注入: 在程序 ...
- NET 自带IOC容器MEF指初体验
转自:http://www.cnblogs.com/ulex/p/4186881.html IOC容器:工具较多,大体功能都相同,大都需要事先对接口与实现进行配对(通过代码或配置文件),然后由系统自动 ...
- .NET自带IOC容器MEF之初体验(转)
本文主要把MEF作为一种IOC容器进行讲解,.net中可用的IOC容器非常多,如 CastleWindsor,Unity,Autofac,ObjectBuilder,StructureMap,Spri ...
- ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)
前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度. 目录 ...
- ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器)
前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度. 目录 ...
- IOC 容器初始化
WebApi 插件式构建方案:IOC 容器初始化 一般来说,一个现代化的网站加载流程是这样的:程序集加载后,我们会初始化 IOC 容器,以便于接下来解析对象用. 我们插件式的开发,这一步更为重要.这是 ...
- WebApi 插件式构建方案:IOC 容器初始化
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
随机推荐
- http状态码有那些?分别代表是什么意思
http状态码有那些?分别代表是什么意思? 简单版 [ 100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息 ...
- COJ 0026 汉诺塔问题
汉诺塔问题 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 经典的汉诺塔游戏相信很多同学都会玩的,规则就不用赘述,百科一下就OK ...
- LeeCode-String to Integer (atoi)
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- Misha and Changing Handles
Description Misha hacked the Codeforces site. Then he decided to let all the users change their hand ...
- HDU-3661(贪心)
Problem Description In a factory, there are N workers to finish two types of tasks (A and B). Each t ...
- nova-network
nova network-create demo-net --bridge br100 --multi-host T --fixed-range-v4 192.168.3.0/26 192.168.3 ...
- Listen第二个参数的意义
今天主要回顾下listen的第二个参数的意义. 话说现在现在都是用框架写业务代码.真的很少在去关注最基本的socket函数的意义了.该忘得都忘得差不多了.~~~ 要慢慢捡起来. 主要是在看redi ...
- 原来你们是这种key-value存储
上周毛老师,在内部分享为我们扫盲了一下Memcached和Redis的支持,讲了很多东西,我一般比较懒不愿意去记东西喜欢把总结成blog,当我忘记的时候可以回头看看.好的废话就说这么多.先看Memca ...
- powerdesigner 字段大小写转换\id 自增
转换:tools --> model options-->naming convention name code 自增: 在你所要设为自增型的键上(比如你的id)双击 ,弹出一个Colu ...
- 数组对象元素的添加,String对象,BOM对象以及文档对象的获取
数组对象的删除有三种方法: pop(); //移除最后一个元素并返回该元素值shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移splice(0,2); / ...