Что такое общий обработчик в 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() может использоваться для хорошей производительности.