ashx是什么文件,如何创建
大家做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()
{
}
}