usingSystem;usingSystem.Web;publicclassAverageHandler:IHttpHandler{" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ashx是什么文件,如何創(chuàng)建

系統(tǒng) 2359 0
.ashx 文件用于寫(xiě)web handler的。其實(shí)就是帶HTML和C#的混合文件。當(dāng)然你完全可以用.aspx 的文件后綴。使用 .ashx 可以讓你專注于編程而不用管相關(guān)的WEB技術(shù)。 .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的好處在與不用多一個(gè)html
注意了VS2005中Web應(yīng)用程序項(xiàng)目模板里的GenericHandler 項(xiàng),發(fā)現(xiàn)它是一個(gè).ashx文件,實(shí)際上它是一個(gè)HttpHandler。后來(lái)查了一下.Net SDK文檔,發(fā)現(xiàn)Asp.Net1.1也支持.ashx,但是沒(méi)有給出詳細(xì)內(nèi)容。

我們都知道,HttpHandler是一個(gè)徹底自定義Http請(qǐng)求的方法,它通過(guò)web.config來(lái)定義Asp.Net運(yùn)行時(shí)來(lái)過(guò)濾出要自定義的Http請(qǐng)求,發(fā)送到定義在web.config的指定類(lèi)中。

利用.ashx文件是一個(gè)更好的方法,這個(gè)文件類(lèi)似于.aspx文件,可以通過(guò)它來(lái)調(diào)用HttpHandler類(lèi),從而免去了普通.aspx頁(yè)面的控件解析以及頁(yè)面處理的過(guò)程。這個(gè)文件特別適合于生成動(dòng)態(tài)圖片,生成動(dòng)態(tài)文本等內(nèi)容。

建立方法如下:
首先打開(kāi)一個(gè)Web項(xiàng)目,然后在任意目錄下使用VS2003解決方案資源管理器的“添加”-->“添加新項(xiàng)”,在對(duì)話框中選擇“文本文件”,然后在文件名處輸入“TextBuilder.ashx”。

然后在同目錄下,使用解決方案資源管理器,使用“添加”-->“添加類(lèi)”,在類(lèi)文件名處輸入“TextBuilder.ashx.cs”。可以看出,它的文件命名規(guī)律與.aspx文件相同。

然后在.cs文件處輸入以下代碼(名稱空間略):
using System.Web
public sealed class TextBuilder:IHttpHandler
{
public void ProcessRequest(HttpContextcontext)
{
context.Response.ClearContent();
context.Response.ContentType
= " text/plain " ;
context.Response.Write(
" HelloWorld " );
context.Response.End();
}


public bool IsReusable
{
get { return true ;}
}

}

然后在“TextBuilder.ashx”文件的第一行處輸入上面這個(gè)類(lèi)的調(diào)用代碼:
<% @WebHandlerlanguage = " C# " Class = " MyNamespace.TextBuilder " codebehind = " TextBuilder.ashx.cs " %>
上面的代碼需要注意的是:必須在Class項(xiàng)中輸入類(lèi)的完整名稱,即包括名稱空間及類(lèi)名稱。

最后保存并編譯項(xiàng)目。

使用IE測(cè)試,輸入這個(gè).ashx的地址即可。

大家可以看出Response類(lèi)有個(gè)OutputStream方法,可以向客戶端輸出二進(jìn)制數(shù)據(jù)流,所以在我的項(xiàng)目中,使用這個(gè)方法,在一個(gè).ashx中使用DundasChart控件就可以生成非常好的統(tǒng)計(jì)圖,用它發(fā)送二進(jìn)制數(shù)據(jù),方便快捷,而且不需在web.config內(nèi)輸入任何配置代碼。

.ashx文件有個(gè)缺點(diǎn),他處理控件的回發(fā)事件非常麻煩,比如說(shuō)如果用它來(lái)生成DataGrid的列表也不是不行,但是處理數(shù)據(jù)的回發(fā),需要一些.aspx頁(yè)的功能,只有自己手動(dòng)處理這些功能。所以,一般使用.ashx,用來(lái)輸出一些不需要回發(fā)處理的項(xiàng)目即可。

ashx是什么文件,如何創(chuàng)建


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日本黄色小视频在线观看 | 天天操天天爽天天射 | 国产成人精品亚洲777图片 | 欧美日韩中文亚洲v在线综合 | 91伊人影院 | 老司机深夜福利影院 | 黄片毛片在线看 | 四虎影视永久在线 | 一本久久a久久精品vr综合 | 在线黄色.com | 在线观看av片永久免费 | 色久优优 欧美色久优优 | 亚洲 欧洲 自拍 另类 校园 | 国产成人精品综合久久久软件 | 欧美国产亚洲一区 | 欧美日韩亚洲在线观看 | 妖精视频在线看免费视频 | 中文伊人 | 久草视频免费播放 | 日本精品久久久久中文字幕 | 日本天天谢天天要天天爱 | 久久88| 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 国产精品视频男人的天堂 | 欧美综合图片 | 中文字幕日韩精品在线 | 久久性精品| 在线羞羞视频 | 久久午夜激情 | 毛片一区二区三区 | 日韩在线中文字幕 | 成人精品综合免费视频 | 成年看片永远免费 | 亭亭色| 国产在线欧美精品中文一区 | 久久网在线 | 欧美亚洲精品一区二三 | 高清国产天干天干天干不卡顿 | 国产香蕉尹人综合在线 | 成人欧美视频在线观看 | 天天干天天爽天天操 |