*.ashx文件

article/2025/9/25 9:49:35
*.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://chatgpt.dhexx.cn/article/6tVIv5yQ.shtml

相关文章

[ASP.Net ]利用ashx搭建简易接口

创建接口的方式有很多&#xff0c;像是Web api,nodejs等等 今天&#xff0c;主要介绍&#xff0c;利用ashx的方式&#xff0c;来搭建一个简易的api 首先&#xff0c;利用VS编辑器&#xff0c;创建一个空的web应用程序 生成的项目文件 为此程序&#xff0c;添加一个新项&a…

孚盟云 AjaxMethod.ashx SQL注入漏洞

漏洞描述&#xff1a; 孚盟云 AjaxMethod.ashx文件存在SQL注入漏洞&#xff0c;攻击者通过漏洞可获取服务器权限。 漏洞利用条件: / 漏洞影响范围&#xff1a; / 漏洞复现&#xff1a; 1.登录页面 2.poc&#xff1a;/Ajax/AjaxMethod.ashx?actiongetEmpByname&Name…

.ashx 解析

.ashx 文件用于写web handler的。当然你完全可以用.aspx 的文件后缀。使用 .ashx 可以让你专注于编程而不用管相关的WEB技术。 .ashx必须包含IsReusable. 如下例所示 <% webhandler language"C#" class"AverageHandler" %> using System; using Sys…

再续.ashx

.ashx 文件用于写web handler的。当然你完全可以用.aspx 的文件后缀。使用 .ashx 可以让你专注于编程而不用管相关的WEB技术。 .ashx必须包含IsReusable. 如下例所示 <% webhandler language"C#" class"AverageHandler" %> using System; using Sys…

ASH

我们可以用第三方工具监控数据库&#xff0c;如toad&#xff0c;spotlight&#xff08;我用的是这个&#xff0c;还不错&#xff09;&#xff0c;但是oracl提供的监测数据的工具不可忽视&#xff0c;学会应用会给监控数据带来便捷。下面介绍ASH. ASH:active session history 我…

一般处理程序.ashx

在前面那篇有关智能提示的推荐文章中&#xff0c;作者用到了.ashx文件和jQuery。 说句实话&#xff0c;对于.ashx当时还真是第一次听说&#xff0c; …… 为了弥补自己知识上的缺陷&#xff0c;在网上恶补了一下&#xff0c;终于对此类文件有了一个初步的认识&#xff0c;特别…

一般处理程序.ashx的应用

利用“一般处理程序”。如果你实用的是vs2005你在添加新项中可以见到“一般处理程序”&#xff0c;它的后缀名为.ashx。它是什么&#xff1f;其实它和.aspx很类似。先问问.aspx是如何工作的&#xff1f;也许你知道&#xff0c;.aspx能处理来自外部传入的请求&#xff0c;然后它…

ashx一般处理程序

.NET里面webform的后缀是aspx WCF和WebService的后缀是asmx 然后今天拿到一个客户端代码&#xff0c;调用服务端&#xff0c;服务端后缀是ashx瞬间傻蛋了&#xff0c;.NET我不知道的组件真多。 四个疑问&#xff1a; 1、什么时候用 2、优缺点 3、简单实现机制 4、简单DEM…

ashx和aspx的区别

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

ashx 文件怎么用

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

mysql的数据库迁移到另一个机器上

1.先找到迁移服务器上的Data文件&#xff0c;我安装的是mysql5.7&#xff0c;默认安装的路径。那么就是在C:\ProgramData\MySQL文件里面&#xff0c;先把隐藏文件打开。 这个Data文件就是你的数据文件&#xff1b;将你要迁移的数据库文件放到这里如下&#xff1a; 然后打开my.i…

MySQL数据库迁移方案比较和使用

数据库迁移方案 数据迁移&#xff08;Data migration&#xff09;是指在存储类型、格式和计算机系统之间的数据转换。 1 常用的迁移方案介绍 ​ 项目使用的数据存储技术是MySQL&#xff0c;关于MySQL的迁移方案大致分为三类&#xff1a; 1.1 mysqldump命令 mysql提供了对数…

MySQL数据库迁移详细步骤(转)

一、背景简介 1、问题描述 由于机房搬迁&#xff0c;需要对后台DB服务器进行迁移&#xff0c;同时为了保证在数据迁移过程中&#xff0c;对线上业务不造成影响&#xff0c;并能够做到秒级切换。如果我们采用普通的逻辑备份&#xff0c;比如&#xff1a;mysqldump&#xff0c;会…

【转载】MySQL数据库迁移详细步骤

【转载】http://sofar.blog.51cto.com/353572/1598364 一、背景简介 1、问题描述 由于机房搬迁&#xff0c;需要对后台DB服务器进行迁移&#xff0c;同时为了保证在数据迁移过程中&#xff0c;对线上业务不造成影响&#xff0c;并能够做到秒级切换。如果我们采用普通的逻辑备…

MYSQL数据库迁移到ORACLE数据库

一、环境和需求 1、环境 Mysql数据库服务器&#xff1a; OS version&#xff1a;linux 5.3 for 64 bit Mysql Server version: 5.0.45 Oracle数据库服务器&#xff1a; OS version&#xff1a;linux 5.3 for 64 bit Oracle version&#xff1a;oracle 11g r2 2、需求 把mysq…

MySQL数据库迁移到ORACLE(持续更新)

1. 使用Oracle SQL Developer 官方 SQL Developer 23.1下载 选择Windows 64-bit with JDK 11 included安装 2.下载后解压&#xff0c;选择exe执行启动&#xff0c;启动后见图 3. 创建连接 默认支持创建Oracle连接&#xff08;见下图&#xff09;&#xff0c;第三方连接需导入…

Linux下MySQL数据库迁移

默认安装的MySQL数据库的数据库目录为&#xff1a;/var/lib/mysql&#xff0c;使用一段时间后发现硬盘空间已经不能满足我们的使用需求&#xff0c;所以需要迁移数据库到磁盘空间更大的目录下&#xff0c;具体过程如下&#xff1a; 1、备份数据库 虽然迁移理论上不会出现问题…

MySQL数据库迁移详细步骤

转载自&#xff1a;http://sofar.blog.51cto.com/353572/1598364 一、背景简介 1、问题描述 由于机房搬迁&#xff0c;需要对后台DB服务器进行迁移&#xff0c;同时为了保证在数据迁移过程中&#xff0c;对线上业务不造成影响&#xff0c;并能够做到秒级切换。如果我们采用普…

mysql数据库迁移到达梦数据库

说明:在windowns上安装达梦数据库&#xff0c;并从mysql5.7迁移到达梦数据库8&#xff0c;此处使用的是达梦数据库的试用版本&#xff0c;如果要安装标准版或者企业版&#xff0c;可以花钱购买。 下载安装包 从达梦官网下载安装包&#xff0c;下载地址&#xff1a;https://ww…

Mysql数据库迁移问题解决方案

目录 问题描述错误原因解决方案其他问题运行选项问题SQL代码问题旧数据库迁移新数据库问题 问题描述 使用 Navicat 导入之前转储好的 sql 文件&#xff0c;报错 错误原因 1、在信息日志当中往上翻&#xff0c;发现没有选择数据库&#xff0c;所以报错的原因就是没有提前创建…