ashx是什么文件,如何创建
2009-02-09 23:42
337 查看
.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
<%@ WebHandler Language="C#" Class="ImageHandler" %>
using System;
using System.Web;
/// <summary>
/// 这就一个没有任何实现的一般处理程序。
/// </summary>
public class ImageHandler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
//获取虚拟目录的物理路径。
string path = context.Server.MapPath("");
//获取图片文件的二进制数据。
byte[] datas = System.IO.File.ReadAllBytes(path + "\\U1513.jpg");
//将二进制数据写入到输出流中。
context.Response.OutputStream.Write(datas, 0, datas.Length);
}
public bool IsReusable {
get {
return false;
}
}
}
default.aspx文件
注意上面的代码:<asp:Image ID="Image1" runat="server" ImageUrl="~/ImageHandler.ashx"/></div> 中ImageUrl指向的是ImageHandler.ashx文件。
<% @ 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
<%@ WebHandler Language="C#" Class="ImageHandler" %>
using System;
using System.Web;
/// <summary>
/// 这就一个没有任何实现的一般处理程序。
/// </summary>
public class ImageHandler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
//获取虚拟目录的物理路径。
string path = context.Server.MapPath("");
//获取图片文件的二进制数据。
byte[] datas = System.IO.File.ReadAllBytes(path + "\\U1513.jpg");
//将二进制数据写入到输出流中。
context.Response.OutputStream.Write(datas, 0, datas.Length);
}
public bool IsReusable {
get {
return false;
}
}
}
default.aspx文件
注意上面的代码:<asp:Image ID="Image1" runat="server" ImageUrl="~/ImageHandler.ashx"/></div> 中ImageUrl指向的是ImageHandler.ashx文件。
相关文章推荐
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建[转]
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建(转载)
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建?[转]
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建?
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建
- ashx是什么文件,如何创建