hai,Was ist generische Handler in asp.net und es ist Verwendung?
Ich bin neu in asp.net. Ich möchte über die generischen Handler in asp.net wissen. und wie und wo es verwenden? Könnten Sie mir helfen?
Danke.
hai,Was ist generische Handler in asp.net und es ist Verwendung?
Ich bin neu in asp.net. Ich möchte über die generischen Handler in asp.net wissen. und wie und wo es verwenden? Könnten Sie mir helfen?
Danke.
Generische Handler sind die .NET-Komponenten, die die System.Web.IHttpHandler-Schnittstelle implementieren. Jede Klasse, die die IHttpHandler-Schnittstelle implementiert, kann als Ziel für die eingehenden HTTP-Anforderungen fungieren. Page ist auch ein generischer Handler. Im Allgemeinen haben generische Handler eine Erweiterung von ASHX.
Sie können zB here
Handlers verwendet werden, finden, wenn Sie den Aufwand einer regulären asp.net Seite Praktische Beispiele sind die Bildverarbeitung oder beim Umgang mit AJAX-Anfragen zu vermeiden.
Einige ASP.NET-Dateien dynamisch erzeugt werden. Sie werden mit C# -Code- oder Datenträgerressourcen generiert. Diese Dateien benötigen keine Webformulare. Stattdessen ist ein generischer ASHX-Handler ideal. Es kann ein Bild dynamisch aus einer Abfragezeichenfolge zurückgeben, XML oder andere Daten schreiben.
Ashx File ist nichts anderes als eine ASPX-Seite. Sie entsprechen benutzerdefinierten Handlern, die in C Sharp oder Visual Basic.NET geschrieben wurden, da sie Klassen enthalten, die IHttpHandler vollständig implementieren. Sie sind bequem auf die gleiche Weise wie ASPX-Dateien bequem sind. Sie surfen einfach zu ihnen und sie werden automatisch kompiliert.
Wenn WebForms (aspx) zu
einfache HTML-Seiten
Asp.net Benutzerdefinierte Steuerelemente
Einfache Dyanamic Seiten
verwendet werden, wenn Handlers (Ashx) zu
Binär-Dateien verwendet werden
Dynamische Bildansichten
Leistung kritische Webseiten
XML-Dateien
Minimale Webseiten
ASHX Generic Handler ist ein Konzept zur Rückgabe dynamischer Inhalte. Es wird verwendet, um AJAX-Aufrufe, ein Bild aus einer Abfragezeichenfolge, XML-Daten oder andere Daten zurückzugeben. Ich habe es verwendet, um MP4-Datei aus Abfragezeichenfolge zurückzugeben. Bitte finden Sie den folgenden Code.
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;
}
}
}
}
Hier habe ich FileCS.ashx Datei erstellt. Wo erben ich IHttpHandler-Schnittstelle. und schrieb die Funktion ProcessRequest (HttpContext context), die beim Aufruf der Datei standardmäßig ausgeführt wird. Und context.Request.QueryString [] ruft den Parameter ab. Hier überlasse ich id als Parameter. IsReusable() Funktion kann für eine gute Leistung verwendet werden.