HttpContext e la scrittura di un componente per WebForms e MVC
-
03-07-2019 - |
Domanda
Sto scrivendo un componente che vorrei poter utilizzare in entrambe le app Web MVC e WebForms, ma non sono sicuro di come gestire le differenze tra le modalità di gestione di HttpContext.
Il mio componente prevede un IHttpHandler personalizzato (per WebForms) o un ActionResult personalizzato (per MVC).
Quindi ho alcune domande:
- Esiste un modo per utilizzare un IHttpHandler con MVC senza rompere il modello?
- È accettabile utilizzare HttpContext.Current mentre si tenta di scrivere codice che funzionerà per entrambi? Mi sembra un po 'bruta-forza-ish (non so perché), ma l'alternativa sarebbe scrivere e implementare un'interfaccia abbastanza dettagliata per gestire l'astrazione tra HttpContext e ControllerContext.
- Sto sbagliando completamente?
Soluzione
- Sì, puoi semplicemente utilizzare
route.IgnoreRoute (" MyHandler.ashx ")
. Tornerà alla gestione ASP.NET originale senza interrompere il modello. - No, penso che sia perfettamente OK usare
HttpContext.Current
. Penso che quando scrivi il tuo gestore, MVC non è molto applicabile. Stai scrivendo il tuo codice per ASP.NET , non ASP.NET MVC o ASP.NET Web Form. È facile farlo funzionare su entrambi i modelli (funziona OOTB con moduli Web, con IgnoreRoute in MVC). Potresti rendere le cose più complicate di quanto dovrebbero essere! Ricorda, l'unico scopo dei modelli di progettazione (come MVC) è la semplicità. Non complicare le cose! -
goto 2;
Basta scrivere un semplice gestore!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow