Ano ang ASHX file?
Ang ASHX file ay isang webpage na ginagamit ng ASP.NET HTTP Handler para ihatid sa user ang mga page na naka-reference sa loob ng file na ito. Pinoproseso ng ASP.NET HTTP Handler ang papasok na kahilingan, tinutukoy ang mga pahina mula sa .ashx file, at ibinalik ang pinagsama-samang pahina pabalik sa browser ng user. Ang paraan ng pagproseso ay halos katulad ng sa mga ASPX file na may pagkakaiba na sa kasong ito, ang mga na-refer na pahina/dokumento ay pinoproseso at ibinabalik.
Format ng ASHX File
Ang mga. Ang mga ito ay mabubuksan sa anumang text editor at developer IDE gaya ng Xamarin Studio, Microsoft Notepad, Notepad++, at marami pa. Ang mga ASHX file ay kapaki-pakinabang kung sakaling mayroon kang:
- Binary files
- Dynamic image views
- Performance-critical web pages
- XML files
- Minimal web pages
Paano dynamic na mag-compile ng ASHX file?
Maaaring gamitin ang mga sumusunod na hakbang upang magdagdag at mag-compile ng ASHX file gamit ang Microsoft Visual Studio.
- add a Generic handler - Handler1.ashx in visual studio
- delete the cs file which auto-created.
- open ashx again, ** remove CodeBehind=“Handler1.ashx.cs” ** add c# code below
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World2");
}
public bool IsReusable
{
get
{
return false;
}
}
}
ASHX Example
Ibinabalik ng sumusunod na ASHX code ang image file sa kahilingan ng user kapag tinawag ang ASHX file sa internet browser.
<%@ WebHandler Language="C#" Class="QueryStringHandler" %>
using System;
using System.Web;
public class QueryStringHandler : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
HttpResponse r = context.Response;
r.ContentType = "image/png";
string file = context.Request.QueryString["file"];
if (file == "Arrow")
{
r.WriteFile("Arrow.gif");
}
else
{
r.WriteFile("Image.gif");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}