`
shirlly
  • 浏览: 1654657 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

ashx是什么文件,如何创建

    博客分类:
  • .NET
阅读更多
.ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件。当然你完全可以用.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  
注意了VS2005中Web应用程序项目模板里的Generic Handler 项,发现它是一个.ashx文件,实际上它是一个HttpHandler。后来查了一下.Net SDK文档,发现Asp.Net1.1也支持.ashx,但是没有给出详细内容。

我们都知道,HttpHandler是一个彻底自定义Http请求的方法,它通过web.config来定义Asp.Net运行时来过滤出要自定义的Http请求,发送到定义在web.config的指定类中。

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

建立方法如下:
首先打开一个Web项目,然后在任意目录下使用VS2003解决方案资源管理器的“添加”-->“添加新项”,在对话框中选择“文本文件”,然后在文件名处输入“TextBuilder.ashx”。

然后在同目录下,使用解决方案资源管理器,使用“添加”-->“添加类”,在类文件名处输入“TextBuilder.ashx.cs”。可以看出,它的文件命名规律与.aspx文件相同。

然后在.cs文件处输入以下代码(名称空间略):

using System.Web 
public sealed class TextBuilder : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
        context.Response.ClearContent(); 
        context.Response.ContentType = "text/plain"; 
        context.Response.Write("Hello World"); 
        context.Response.End(); 
    } 
 
    public bool IsReusable 
    { 
        get { return true; } 
    } 
} 

然后在“TextBuilder.ashx”文件的第一行处输入上面这个类的调用代码:
<%@ WebHandler language="C#" Class="MyNamespace.TextBuilder" codebehind="TextBuilder.ashx.cs" %> 上面的代码需要注意的是:必须在Class项中输入类的完整名称,即包括名称空间及类名称。

最后保存并编译项目。

使用IE测试,输入这个.ashx的地址即可。

大家可以看出Response类有个OutputStream方法,可以向客户端输出二进制数据流,所以在我的项目中,使用这个方法,在一个.ashx中使用DundasChart控件就可以生成非常好的统计图,用它发送二进制数据,方便快捷,而且不需在web.config内输入任何配置代码。

.ashx文件有个缺点,他处理控件的回发事件非常麻烦,比如说如果用它来生成DataGrid的列表也不是不行,但是处理数据的回发,需要一些.aspx页的功能,只有自己手动处理这些功能。所以,一般使用.ashx,用来输出一些不需要回发处理的项目即可。
原文连接:http://www.cnblogs.com/lin614/archive/2008/01/18/1044734.html
分享到:
评论

相关推荐

    ashx是什么文件,如何创建.pdf

    ashx 文件是什么?如何创建 ashx 文件? ashx 文件是一种特殊的文件类型,用于编写 Web 处理程序(HttpHandler)。 ashx 文件实际上是一个混合文件,包含 HTML 和 C# 代码。使用 ashx 文件可以专注于编程,而不需要...

    ajax+jquery+ashx实现上传文件

    在Web开发中,异步传输(Ajax)技术允许我们...通过这种组合使用Ajax、jQuery和ASHX的方式,我们可以创建一个高效且用户体验良好的文件上传系统,无需离开当前页面即可完成文件上传,从而提高了Web应用的交互性和效率。

    【ASP.NET编程知识】ashx介绍以及ashx文件与aspx文件之间的区别.docx

    ASP.NET ashx 文件介绍及 ashx 文件与 aspx 文件之间的区别 Ashx 文件是一个特殊的文件类型,在 ASP.NET 中用于处理 Web 处理程序(HttpHandler)。它与 aspx 文件类似,但 ashx 文件不需要控件解析和页面处理过程...

    ashx上传文件

    1. **创建ASHX处理程序**:在你的.NET项目中,创建一个新的ASHX文件,如`FileUploadHandler.ashx.cs`。这个处理程序需要继承`IHttpHandler`接口,并实现`ProcessRequest`方法。在这个方法里,你可以读取POST请求的...

    winform上传文件,带进度条,用一般处理程序ashx接收,传有参数。源代码例子下载

    - "一般处理程序源码"应该包含ASHX文件的C#代码,解释如何接收文件和参数,以及如何存储或处理上传的文件。 综上所述,这个示例提供了从客户端到服务器端完整的文件上传解决方案,包括WinForm UI设计、异步上传...

    Ajax+HTML+ASHX实现文件异步上传

    在这种文件上传场景下,ASHX处理程序接收由Ajax发送的文件数据,并在服务器端进行处理,如保存到硬盘、数据库或其他存储介质。 实现步骤如下: 1. **创建HTML界面**:在`index.html`中,创建一个包含文件输入控件...

    ashx文件的使用

    ### 什么是ashx文件? ashx文件,全称是Application Handler,是一种由Microsoft提供的用于创建自定义HTTP处理器的手法。它们可以响应特定的URL请求,并执行预定义的操作,如返回文本、图像或执行数据库操作。与...

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

    ashx是什么文件? .ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以...ashx文件和aspx文件有什么不同? 我们先新建一个ashx文件看看: 代码示例:当然你完全可以用.aspx 的文件后缀。使用.ashx 可以让你

    【ASP.NET编程知识】asp.net利用ashx文件实现文件的上传功能.docx

    ASP.NET 实现文件上传功能 本文主要介绍如何使用 ASP.NET 实现文件上传功能,包括两种方法:Form 表单提交和 jQuery + AJAX 无刷新上传。 方法一:Form 表单提交 在 ASP.NET 中,可以使用 Form 表单提交实现文件...

    C# ashx接口实现 实例

    本文将深入探讨如何使用C#来实现ASHX接口,并结合提供的文件目录结构进行实例解析。 首先,`JieKou`文件夹中的内容很可能是服务器端的接口实现。ASHX接口是基于.NET Framework的HTTP服务组件,它不需要完整的ASP...

    CEMS:Menu.ashx.cs文件

    CEMS:Menu.ashx.cs文件,在系統的ASAX下!!!!!!!!!!!!!!!!!!

    ajax+ashx+分页 包含数据库文件

    【标题】"ajax+ashx+分页 包含数据库文件"所涉及的知识点主要集中在Web开发中的异步数据处理和页面动态加载技术上。这里的"ajax"是"Asynchronous JavaScript and XML"的缩写,是一种在不刷新整个网页的情况下,能够...

    uploadify+ashx 跨域上传

    Ashx文件本质上是一个接口,可以处理各种HTTP请求。在C#中,你可以创建一个新的类,继承自` IHttpHandler`接口,并实现`ProcessRequest`方法。在这个方法中,可以读取上传的文件流,保存到服务器上,或者进行其他...

    HTML+ASHX上传传图片.zip

    HTML和ASHX是两种在Web开发中用于处理文件上传的技术。HTML主要负责用户界面部分,而ASHX(HTTP Handler)是ASP.NET中的一个组件,用于处理服务器端的请求。在这个"HTML+ASHX上传传图片"的示例中,我们将探讨如何...

    asp.net利用ashx文件实现文件的上传功能

    1. **ASP.NET HTTP Handler (ASHX)**:ASHX文件是处理HTTP请求的轻量级组件,它不需要继承特定的基类,而是直接实现`IHttpHandler`接口。 2. **文件上传**:在HTML表单中使用`&lt;input type="file"&gt;`元素让用户选择...

    ashx实例C#语言

    ashx实例 C#语言 大家学着用ASHX文件

    ajax页面交互ashx

    **什么是Ashx?** Ashx全称为HTTP Handler,它是ASP.NET框架中一种轻量级的处理程序,用于响应HTTP请求。与传统的ASPX页面相比,ASHX没有内置视图状态管理和生命周期事件,因此更灵活、更高效。它们特别适合处理...

    C# WinForm 上传图片 文件到服务器的方法Uploader ashx.txt

    这主要包括两部分:一部分是服务器端处理文件上传的`Uploader.ashx`文件,另一部分是客户端用于发送文件的WinForm应用程序。 ### 一、服务器端处理文件上传 #### 1. `Uploader.ashx`文件分析 `Uploader.ashx`文件...

    asp.net *.ashx类型的文件使用说明

    解决方案:使用ashx文件。 1. 使用ASHX handlers 首先,我们要回顾要使用ASHX文件的目标,我们要做的是在一个地址中用ASHX文件并动态的返回内容。 我们将用到querystring,最后的地址格式为(例子): ...

Global site tag (gtag.js) - Google Analytics