*.ashx文件

news/2025/2/18 12:07:57/
*.ashx文件
.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.ppmy.cn/news/829337.html

相关文章

android 调用ashx,手机知识:安卓手机如何打开.ashx文件

科技本身&#xff0c;支配宇宙的自然规律是充满魅力的&#xff01;因此越来越多的人开始关注科技的相关动态&#xff0c;近来安卓手机如何打开.ashx文件的消息也是引起了很多人的关注&#xff0c;那么既然现在大家都想要知道安卓手机如何打开.ashx文件&#xff0c;小编今天就来…

Ashx 文件

Ashx文件就是一个web handler文件&#xff0c;可以添加这个文件&#xff0c;加上web.config的配置来实现map url &#xff0c;即把请求路由到 handler中来处理 1、添加一个handler.ashx 2、配置web.config <system.web> <compilation debug"true" targetF…

Ashx文件的使用方法

一提到Ashx文件&#xff0c;我们就会想到http handler以及图片加载&#xff08;在之前我们一般使用ASPX或者Webservice去做&#xff09;&#xff0c;一般做法如下&#xff1a; Handler.ashx&#xff1a;<% WebHandler Language"C#" class"Handler" %>…

ashx 文件的运用

在ASP.NET中有一种这样格式的文件ashx文件&#xff0c;作什么用的呢&#xff1f;如果你想创建一个ASP.NET文件&#xff0c;它不是aspx文件&#xff0c;它能动态的返回一个图片、XML文件或其他非HTML文件。那就使用ashx文件了。下面介绍下使用方法&#xff1a;1. 使用ASHX handl…

.ashx文件

ashx是什么文件,如何创建 .ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件。当然你完全可以用.aspx 的文件后缀。使用.ashx 可以让你专注于编程而不用管相关的WEB技术。.ashx必须包含IsReusable.建立方法如下&#xff1a; 首先打开一个Web项目&#xff0c;然后在…

ashx文件

ashx是什么文件?   .ashx 文件用于写web handler的。.ashx文件与.aspx文件类似&#xff0c;可以通过它来调用HttpHandler类&#xff0c;它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。 .ashx文件适合产生供浏览器处理的、不需要回发处…

ashx文件的使用

最近在研究DTcms,ashx用于生成登陆的code,所以研究了一下。 ashx是什么文件 .ashx 文件用于写web handler的。.ashx文件与.aspx文件类似&#xff0c;可以通过它来调用HttpHandler类&#xff0c;它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文…

ashx 文件怎么用

本文导读&#xff1a;ashx是什么文件,如何创建 .ashx 文件用于写web handler的。其实就是带HTML和C#的混合文件。.ashx文件类似于.aspx文件&#xff0c;可以通过它来调用HttpHandler类&#xff0c;从而免去了普通.aspx页面的控件解析以及页面处理的过程。 一、ashx文件的添加 打…