zoukankan      html  css  js  c++  java
  • aspx与ashx

    ashx在VS的中文版是新建“一般处理程序”,其实是一个实现类System.Web.IHttpHandler接口的类。而任何一个实现了IHttpHandler接口的类都能作为一个外部请求的目标程序。HttpHandler是一个彻底自定义Http请求的方法,它通过web.config来定义Asp.Net运行时来过滤出要自定义的Http请求,发送到定义在web.config的指定类中。

    利用.ashx文件是一个更好的方法,这个文件类似于.aspx文件,可以通过它来调用HttpHandler类,从而免去了普通.aspx页面的控件解析以及页面处理的过程。这个文件特别适合于生成动态图片,生成动态文本等内容。

    而ashx比aspx简洁多了吧.只有一个文件,没有后台cs文件,ashx对比aspx文件,就好像少了cs文件.其实这就是ashx和aspx不同的地方,因为aspx要将前后台显示和处理逻辑分开,所以就弄成了两个文件,其实,在最终编译的时候,aspx和cs还是会编译到同一个类中去.这中间就要设计html的一些逻辑处理.而ashx不同,它只是简单的对web http请求的直接返回你想要返回的结果.比aspx少处理了html的过程.理论上,比aspx要快.

    看看发布后的网站,每个ashx的文件最终都被编译成了一个类。

    这是解决方案的文件列表                           这是通过反编译程序得到的列表

                      

    aspx文件是微软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是asp的简单升级,因为它的编程方法和asp有很大的不同,他是在服务器端靠服务器编译执行的程序代码,ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。(这是百度百科上的介绍)

    再来添加一个ASPX看看编译过后..

      

    我们可以清楚看到其实ASPX编译过后也产生了2个类,但是下面这2张图片看出其实前台的aspx编译的只是一个继承后台类的一个子类而已...

    aspx和ashx还有一个区别就是页面生命周期:

    aspx需要编译成类文件,有页面生命周期,而ashx只是一个一般处理程序没有生命周期。

     


     

    本文从百度空间搬家到博客园。

  • 相关阅读:
    EF中嵌套类的where查询
    VS中添加Web References
    DropDownList绑定数据源后,要插入项的处理
    CheckBoxList选中某项,获取其它项是否是选中
    WebAPI的使用
    HTML5中像网页中保存cookie的实现
    日志切割之Logrotate
    CentOS防火墙iptables使用
    CentOS7安装Python3
    Keepalived高可用
  • 原文地址:https://www.cnblogs.com/yunanwu/p/4168565.html
Copyright © 2011-2022 走看看