In ASP.NET sappiamo che è possibile effettuare il redirect verso un'altra pagina quando lo riteniamo necessario, quindi solitamente quando abbiamo una pagina il cui contenuto non è più valido. Di solito questa soluzione si adotta per evitare che i motori di ricerca o i client non trovino più il nome della vecchia pagina e quindi smettano di puntare alla nostra applicazione.
Il metodo Redirect attualmente disponibile ci consente di specificare il percorso di una pagina ASP.NET alla quale il client dovrà essere redirezionato. Questa redirezione viene eseguita inviando al client una risposta di tipo HTTP 302 che però oltre a richiedere un nuovo round trip verso il server sarà eseguita ogni volta dal client che non terrà memoria di questa redirezione.
àˆ disponibile nel protocollo HTTP anche la risposta HTTP 301 che comunica al client una redirezione permanente. I client e i motori di ricerca che supportano questo codice, nel momento in cui ricevono questa risposta, smettono permanentemente di considerare il nome della vecchia pagina in favore di quello nuovo evitando, alla richiesta successiva, di richiamare la vecchia pagina e quindi di effettuare due round trip verso il server.
In ASP.NET 4.0 troviamo il nuovo metodo RedirectPermanent che ci permette di effettuare il redirect verso una nuova pagina, esattamente come la Redirect attualmente disponibile, con la differenza però di generare una risposta HTTP 301 invece della 302.
L'uso di questo metodo è quindi molto semplice in quanto del tutto identico alla Redirect:
Response.RedirectPermanent("NewPage.aspx");