ashx是什么文件,如何创建

ashx是什么文件,如何创建

C#    2009-04-06 18:11   阅读99   评论0  
字号:    

大家做application的时候,会发现这样一个文件后缀ashx,在VS2005中Web应用程序项目模板里的Generic Handler 项里。

ashx是什么:

.ashx 文件用于写web handler的,说白了就是带HTML和C#的混合文件。当然你完全可以用.aspx 的文件后缀。使用.ashx 可以让你专注于编程而不用管相关的WEB技术。它实现了IHttpHandler接口,可以当作httphandler来使用。aspx也是实现了IHttpHandler接口的,但它比ashx要复杂得多,这涉及到page生命周期。ashx默认情况下只有一个文件,但它可以把实现放在它处实现,通过CodeBehind。

ashx与aspx的主要区别:

 1.ashx默认情况下生成一个文件*.ashx,aspx默认会自动三个文件*.aspx、*.aspx.cs、*.aspx.designer.cs;

 2.两者都实现了IHttpHandler接口,都可当HttpHandler使用。aspx除实现了IHttpHandler接口,还继承了System.Web.UI.Page,这就意味着aspx还得负责页面的控件解析以及页面处理的过程,这就是常说的页面生命周期。

 3.aspx主要负责与end-user之间的交互,要求互动性强,处理事件回发很方便,而ashx特别适合于生成动态图片,生成动态文本等内容,多半处理不需要回发处理。

其实在vs2003 CLR1.1中就有了。

ashx如何创建:

使用“添加”-->“添加类”,在类文件名处输入“TextBuilder.ashx.cs”。可以看出,它的文件命名规律与.aspx文件相同。
然后在.cs文件处输入以下代码(名称空间略):

<%@ WebHandler Language="C#" Class="Handler" %>

public class Handler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World");
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

    private void isMe()
    {

    }  

}

你可能感兴趣的:(.net)