ashx文件和aspx文件有什么不同? 我们先新建一个ashx文件看看:
1 <%@ WebHandler Language="C#" Class="Handler" %>
2 using System;
3 using System.Web;
4 public class Handler : IHttpHandler
5 {
6 public void ProcessRequest (HttpContext context)
7 {
8 context.Response.ContentType = "text/plain";
9 context.Response.Write("Hello World");
10 }
11 public bool IsReusable
12 {
13 get
14 {
15 return false;
16 }
17 }
18 }
这是新建了Handler.ashx文件.
ashx比aspx简洁多了吧.只有一个文件,没有后台cs文件(基于代码安全考虑,后边我们会自己添加这个文件).ashx对比aspx文件,就好像 少了cs文件.其实这就是ashx和aspx不同的地方,因为aspx要将前后台显示和处理逻辑分开,所以就弄成了两个文件,其实,在最终编译的时 候,aspx和cs还是会编译到同一个类中去.这中间就要设计html的一些逻辑处理.而ashx不同,它只是简单的对web http请求的直接返回你想要返回的结果.比aspx少处理了html的过程.理论上,比aspx要快.
看看.net config文件中对两个文件类型请求的配置吧:
1 <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" /> 2 <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
可以看到两个文件处理的类不一样(ashx处理的类叫SimpleHandleFactory,既然叫Simple,应该处理过程也比较Simple.响应速度也应该快点吧:)
来源:https://www.cnblogs.com/liubeimeng/p/3854753.html