aspx文件也就是普通的页面文件,ashx就是一般处理程序,他没有页面部分,asmx文件则是轻量级的WebService。假如我们需要一个处理某个请求然后返回一个结果的程序,那么你会选择什么样的文件来处理呢?
不可否认,这三种文件各有各的好处,在不同的情况下应该选择合适的方法。
aspx与ashx处理效率差不多,但ashx仍是首选。asmx处理效率非常低下只有前者的1/3,故在高性能环境下慎用。
1、ashx为何最快
ashx比较轻量级,没有aspx实现的复杂,他只是一个简单服务端处理请求程序,而aspx框架需要处理更多的额外的东西,加上aspx属于动态编译,首次访问速度会非常慢,本次试验已经去掉了这个阶段,另外通过上面分析数据可知,即使我去掉了多余的内容,其实际传输内容也比ashx多,但两者处理效率总体来说非常接近,大家可以根据自己的需要抉择。
2、asmx为何最慢
这是一个SOA范畴的程序,遵守一些SOA的标准协议,服务端收到请求后返回的结果不能直接返回,还需要使用标准的SOAP协议组织好数据,类似一个XML文档结构的返回流,从分析结果图中也可以看出来,他返回的数据量比前者高出一位数,总之基于序列化和多余的XML文档数据等使得他处理请求的能力远不如前者。
所以,在效率方面,ashx>aspx>asmx。