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

WCF与ASP.NET Core性能比较

\

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

\
\\

微软花了大量的时间和精力来开发ASP.NET Core。结果,这个开放的平台提供了许多首次出现的新特性,而且从广大开发社区的开放参与中收获颇多。人们通常会认为,ASP.NET Core比像Windows Communication Foundation(WCF)这样的旧技术性能更好。近期看来,情况似乎不是这样,让我们深入地了解一下。

\\

近日,开发者Erik Heemskerk发表了一篇文章,介绍他对ASP.NET Core与WCF进行的深入比较。在他的试验中,他使用每种技术编写了一个简单的项目,“启动一个本地Web服务器,测量从请求创建、发送、反序列化到响应生成、返回、反序列化这整个过程所用的时间”。

\\

出乎他的意料,当负载是一个简单的GUID时,WCF比对等的ASP.NET Core项目快大约三分之一。Heemskerk认为,这可能是由于WCF序列化成XML,而ASP.NET Core使用JSON,所以他强制ASP.NET Core序列化成XML。这提升了性能,但WCF仍然要快许多。Heemskerk又尝试了另外一种方法,他把负载增加到一个更符合现实对象大小的规模,并在ASP.NET Core项目中使用了MessagePack。总算,ASP.NET比WCF稍微快了点。

\\

但是,这还没完。开发者Josh Bartley后来检查了Heemskerk的项目,看看是否还能做些其他的修改来改进ASP.NET的结果。他的分析表明,也许ASP.NET的基准测试过程和WCF的基准测试过程并不完全相同。

\\

因此,ASP.NET Core并不是性能的倒退。如果最初性能未达到预期,可能需要做些分析来优化性能。更重要的是,在尝试改进性能时,务必要找对进行基准测试的地方,以便可以修改适当的代码段。

\\

查看英文原文:Comparing WCF Performance to ASP.NET Core

相关文章:

  • 小学徒成长系列—线程
  • PHP explode() 函数
  • (转载)Linux网络编程入门
  • 思维导图形式带你读完《大型网站技术架构》中
  • c# 泛型类型参数T的约束where
  • 云如何让App开发更简单?
  • Common方法
  • 区块链概况:商业价值
  • 【水】tyvj1523 平面几何入门
  • web标准化(下)
  • Java环境搭建与配置
  • 【JS第17期】单体内置对象
  • Delphi编程地一些小程序
  • 乐观锁和悲观锁
  • Linux初始设置
  • Akka系列(七):Actor持久化之Akka persistence
  • android图片蒙层
  • crontab执行失败的多种原因
  • ECS应用管理最佳实践
  • IP路由与转发
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JDK9: 集成 Jshell 和 Maven 项目.
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Rancher-k8s加速安装文档
  • react 代码优化(一) ——事件处理
  • SwizzleMethod 黑魔法
  • vue--为什么data属性必须是一个函数
  • 动态规划入门(以爬楼梯为例)
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 复杂数据处理
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 在Mac OS X上安装 Ruby运行环境
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (javascript)再说document.body.scrollTop的使用问题
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十)c52学习之旅-定时器实验
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)VirtualBox安装增强功能
  • (转)3D模板阴影原理
  • (转)jdk与jre的区别
  • (转)setTimeout 和 setInterval 的区别
  • (转)项目管理杂谈-我所期望的新人
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net core Swagger 过滤部分Api
  • .net实现客户区延伸至至非客户区
  • .net知识和学习方法系列(二十一)CLR-枚举
  • @html.ActionLink的几种参数格式
  • [2016.7.Test1] T1 三进制异或
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [AutoSar]BSW_Com07 CAN报文接收流程的函数调用
  • [Bugku]密码???[writeup]