ashx介绍以及ashx文件与aspx文件之间的区别

 更新时间:2013年12月13日 09:49:47   作者:  
这篇文章主要介绍了ashx以及ashx文件与aspx文件之间的区别。需要的朋友可以过来参考下,希望对大家有所帮助

ashx是什么文件?

.ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。

.ashx文件适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。

ashx文件是.net 2.0新加的文件类型(其实在.net 1.0下已经可用,但是没有公开提供).

ashx文件和aspx文件有什么不同? 我们先新建一个ashx文件看看:

代码示例:
当然你完全可以用.aspx 的文件后缀。使用.ashx 可以让你专注于编程而不用管相关的WEB技术。.ashx必须包含IsReusable. 如下例所示

复制代码 代码如下:

  <% @ webhandler language="C#" class="AverageHandler" %>

  using System;

  using System.Web;

  public class AverageHandler : IHttpHandler

  {

  public bool IsReusable

  { get { return true; } }

  public void ProcessRequest(HttpContext ctx)

  {

  ctx.Response.Write("hello");

  }

  }


.ashx比.aspx的好处在于不用多一个html

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

看看.net config文件中对两个文件类型请求的配置吧

<add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />

可以看到两个文件处理的类不一样(ashx处理的类叫SimpleHandleFactory,既然叫Simple,应该处理过程也比较 Simple.响应速度也应该快点吧:)

只要具体继承了IHttpHandler如何处理的问题,我这里找到一篇早期的,介绍.net 2.0编译模型的问题.比较深奥,要慢慢鼓捣一下:(台湾朋友写的Pdf文件,上传不了,在些处略。)

鼓捣完了你就大概明白了ashx不过.net里面自定义好的一个请求格式,ashx文件类的文件的处理过程要比aspx要简单得多.

相关文章

  • asp.net 分页潜谈

    asp.net 分页潜谈

    最近研究了一下Asp.net下的分页功能。以前受前辈们的误导,人云已云的以为做分页很难很麻烦。这一研究才发现,分页也不过如此嘛。
    2009-06-06
  • .Net Core中间件之静态文件(StaticFiles)示例详解

    .Net Core中间件之静态文件(StaticFiles)示例详解

    这篇文章主要给大家介绍了关于.Net Core中间件之静态文件(StaticFiles)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-09-09
  • 通过ASP.net实现flash对数据库的访问

    通过ASP.net实现flash对数据库的访问

    近来网站需要在flash中提取数据库中的数据,从网上找了一点资料,今天下午在自己的机器上实现了一下,还是比较简单的。
    2009-08-08
  • Asp.net_Table控件の单元格纵向合并示例

    Asp.net_Table控件の单元格纵向合并示例

    本文为大家介绍下如何实现动态生成表,同一列中数据相同的单元格需要合并,具体实现如下,由此需求的朋友可以参考下,希望对大家有所帮助
    2013-07-07
  • asp.net SqlDataAdapter对象使用札记

    asp.net SqlDataAdapter对象使用札记

    如果 DataAdapter 遇到多个结果集,它将在 DataSet 中创建多个表。将向这些表提供递增的默认名称 TableN,以表示 Table0 的“Table”为第一个表名。
    2009-04-04
  • ASP.NET XmlHttp跨域访问实现代码

    ASP.NET XmlHttp跨域访问实现代码

    最近项目需要实现XmlHttp的POST方法到另一服务器上的页面进行数据的更新,可是IE会提出“该页正在访问其控制范围之外的信息,是否继续?”等警告信息,而在其他浏览器上直接禁止掉,GOOGLE一下原来是XmlHttp的跨域访问问题,找了很多资料,说是提供很多解决方案,可是都没有用处。
    2008-11-11
  • ASP.NET数据绑定之DataList控件实战篇

    ASP.NET数据绑定之DataList控件实战篇

    这篇文章主要为大家介绍了ASP.NET数据绑定中的DataList控件,DataList控件以表的形式呈现数据,通过该控件,您可以使用不同的布局来显示数据记录,对DataList控件感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 使用jQuery Uploader显示文件上传进度

    使用jQuery Uploader显示文件上传进度

    在上传大文件的时候, 我们都希望可以向用户显示上传的进度, 那么这里介绍的就是使用 jQuery Uploader 来实现这样的效果
    2011-12-12
  • ASP.NET配合jQuery解决跨域调用的问题

    ASP.NET配合jQuery解决跨域调用的问题

    这篇文章主要介绍了ASP.NET配合jQuery解决跨域调用的问题,简单实用,需要的朋友可以参考下。
    2016-06-06
  • ASP.net WebAPI 上传图片实例

    ASP.net WebAPI 上传图片实例

    这篇文章主要介绍了ASP.net WebAPI 上传图片实例,有需要的朋友可以参考一下
    2013-12-12

最新评论