Что такое общий обработчик в asp.net и он использует?

hai,

Я новичок в asp.net. Я хочу знать об общих обработчиках asp.net.  и как и где он используется?  Не могли бы вы помочь мне?

Спасибо.

Ответ 1

Общие обработчики - это компоненты .NET, которые реализуют интерфейс System.Web.IHttpHandler. Любой класс, реализующий интерфейс IHttpHandler, может выступать в качестве цели для входящих HTTP-запросов. Страница также является универсальным обработчиком. В общем случае общие обработчики имеют расширение ASHX.

Вы можете найти пример здесь

Ответ 2

Обработчики используются, когда вы хотите избежать накладных расходов на обычной странице asp.net Практические примеры включают обработку изображений или обработку аякс-запросов.

см. http://msdn.microsoft.com/en-us/library/aa479332.aspx

Ответ 3

Некоторые файлы ASP.NET динамически генерируются. Они генерируются с помощью кода С# или ресурсов диска. Эти файлы не требуют веб-форм. Вместо этого универсальный обработчик ASHX идеален. Он может динамически возвращать изображение из строки запроса, писать XML или любые другие данные.

Ответ 4

Ashx File - это не что иное, как страница aspx. Они эквивалентны пользовательским обработчикам, написанным на C Sharp или Visual Basic.NET, поскольку они содержат классы, которые полностью реализуют IHttpHandler. Они удобны таким же образом, что файлы ASPX удобны. Вы просто просматриваете их, и они автоматически компилируются.

При использовании WebForms (aspx)

Простые HTML-страницы
 Пользовательские элементы управления Asp.net
 Простые Dyanamic Страницы

Когда используются обработчики (ashx)

Двоичные файлы
 Динамические образы изображений
 Производительность критичных веб-страниц
 xml файлы
 Минимальные веб-страницы

Ответ 5

ASHX Generic Handler - это концепция возврата динамического содержимого. Он используется для возврата вызовов ajax, изображения из строки запроса, записи XML или любых других данных. Я использовал его для возврата файла MP4 из строки запроса. Пожалуйста, найдите следующий код.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
namespace ESPB.CRM.Web.UI.VideoUploading
{

public class FileCS : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        int id = int.Parse(context.Request.QueryString["id"]);
        byte[] bytes;
        string contentType;
        string strConnString = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
        string name;
        using (SqlConnection con = new SqlConnection(strConnString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = "select Name, Data, ContentType from VideoUpload where [email protected]";
                cmd.Parameters.AddWithValue("@Id", id);
                cmd.Connection = con;
                con.Open();
                SqlDataReader sdr = cmd.ExecuteReader();
                sdr.Read();
                bytes = (byte[])sdr["Data"];
                contentType = sdr["ContentType"].ToString();
                name = sdr["Name"].ToString();
                con.Close();
            }
        }
        context.Response.Clear();
        context.Response.Buffer = true;
        context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name);
        context.Response.ContentType = contentType;
        context.Response.BinaryWrite(bytes);
        context.Response.End();
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
 }
}

Здесь я создал файл FileCS.ashx. Где я наследую интерфейс IHttpHandler. и написал функцию ProcessRequest (контекст HttpContext), которая будет работать по умолчанию во время вызова файла. И context.Request.QueryString [] получит параметр. Здесь я передаю id как параметр. Функция IsReusable() может использоваться для хорошей производительности.