Salve, sapreste gentilmente spiegarmi la differenza tra una pagine con estensione ashx ed una con estensione ascx??
Vorrei capire perchè realizzare una pagina con una estensione e non con l'altra.
Grazie
Salve, sapreste gentilmente spiegarmi la differenza tra una pagine con estensione ashx ed una con estensione ascx??
Vorrei capire perchè realizzare una pagina con una estensione e non con l'altra.
Grazie
l'ashx è l'estensione per i file che contengono classi Handler che implementano l'interfaccia IHhttpHandler. L'interfaccia è costituita da un metodo ProcessRequest. Quando asp.net riceve una richiesta verso un handler ashx richiama il metodo processRequest. All'interno del metodo è possibile utilizzare un oggetto HttpContext con cui praticamente puoi fare tutto cio che è possibile fare da asp.net ma ad un livello piu basso: si scrive utilizzando l'oggetto Response, si legge la richiesta dall'oggetto Request, puoi usare l'oggetto Session e via dicendo.
In realtà le normali pagine aspx sono un astrazione che ti consentono di usare i controlli, gli eventi di pagina e molto altro ma dietro le quinte la classe Page non è altro che un Handler che legge dal Request e scrive nel Response. Se hai delle esigenze particolari per la quale non ti serve tutta l'infrastruttura della classe Page un Handler ashx è la soluzione, per esempio per creare un semplice web service.
l'ascx è tutta un altra cosa. E' l'estensione dei controlli utente. Un controllo utente non è altro che un controllo fatto da piu controlli e ha lo scopo di tenere il codice ordinato. Puoi mettere insieme una label, una textbox e un pulsante per fare un controllo utente e chiamarlo "NewsLetterSubscriber.ascx" e richiamarlo nella pagina principale con un codice di markup personalizzato tipo:
<myuc:NewsLetterSubscriber runat="server" />