638 messaggi dal 18 febbraio 2002
www.dimsolutions.it
Salve a tutti,
ho un file .ASHX di questo tipo che devo includere in un progetto MVC:

    public class Upload : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Expires = -1;
            try
            {
                ....
            }
        }

    }
}


Lo includo nella dire directory /Shared di MVC ma poi non riesco a chiamarlo da AJAX o semplice link mi restituisce sempre 404:

    $("#controllo").xxxxxx({
        'uploadScript': '/Shared/Upload.ashx'
       ...
    });



Ho provato anche ad inserire nel RegisterRouter ma niente:

            routes.IgnoreRoute("Shared/{resource}.ashx/{*pathInfo}");
            routes.IgnoreRoute("{*allashx}", new { allashx = @".*\.ashx(/.*)?" });


Qualche suggerimento?
Grazie
Modificato da diego78 il 26 marzo 2018 12.06 -

Telesoccorso Lineaperta: Servizi di Telesoccorso
10.966 messaggi dal 09 febbraio 2002
Contributi
Ciao,
mi risulta che la richiesta funzioni senza problemi. L'handler è un file che esiste fisicamente su disco, quindi la richiesta non verrà gestita dal router di ASP.NET MVC, proprio come quando richiedi un file JPG o un file CSS.

Per provare fai questo:
  • Crea una nuova applicazione ASP.NET MVC;
  • Crea la directory /Shared, fai tasto destro -> Aggiungi -> Nuovo Elemento > Handler generico. Ti verrà creato un file Handler1.ashx
  • Avvia l'applicazione in debug e visita l'indirizzo /Shared/Handler1.ashx. Riuscirai a raggiungere l'handler senza ulteriori modifiche


Altre possibili cause potrebbero essere: hai definito nel web.config delle regole di riscrittura con il modulo URL Rewrite di IIS che stanno alterando il tuo URL, oppure l'URL che stai usando per la richiesta è sbagliato (usa il percorso assoluto /Shared/Upload.ashx).

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.