aspose.info
UK

Розширення файлу ASHX - файл веб-обробника ASP.NET

Оновлено

Що таке файл ASHX?

Файл ASHX — це веб-сторінка, яка використовується обробником HTTP ASP.NET для надання користувачам сторінок, на які посилається цей файл. HTTP-обробник ASP.NET обробляє вхідний запит, посилається на сторінки з файлу .ashx і надсилає скомпільовану сторінку назад у браузер користувача. Метод обробки здебільшого подібний до файлів ASPX з тією відмінністю, що в цьому випадку сторінки/документи, на які посилаються, обробляються та надсилаються назад.

Формат файлу ASHX

Файли .ashx зберігаються у форматі простого тексту та містять посилання на інші сторінки чи документи, які надсилаються назад у браузер користувача за запитом. Їх можна відкрити в будь-якому текстовому редакторі та IDE розробника, наприклад Xamarin Studio, Microsoft Notepad, Notepad++ та багатьох інших. Файли ASHX корисні, якщо у вас є:

  • Бінарні файли
  • Динамічні перегляди зображень
  • Важливі для продуктивності веб-сторінки
  • Файли XML
  • Мінімум веб-сторінок

Як динамічно скомпілювати файл ASHX?

Наступні кроки можна використати для додавання та компіляції файлу ASHX за допомогою Microsoft Visual Studio.

  • додайте загальний обробник - Handler1.ashx у Visual Studio
  • видалити автоматично створений файл cs.
  • знову відкрити ashx, ** видалити CodeBehind=“Handler1.ashx.cs” ** додайте код c# нижче
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

Наступний код ASHX повертає файл зображення на запит користувача, коли файл ASHX викликається в Інтернет-браузері.

<%@ 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;  

        }  

    }  

}  

Список літератури

Див. також