Redirect globale

lunedì 26 novembre 2007 - 23.03

nullatore Profilo | Junior Member

Salute!

Mi servirebbe un meccanismo di redirect che funzioni per ogni pagina e sottopagine della webapplication; un metodo veloce e centralizzato con il quale posso dirottare qualsiasi richiesta indirizzata al dominio (e non solo alla homepage).

A cosa mi serve?
Ad esempio a far comparire un avviso di lavori in corso...

Stavo pensando ad un web.config confezionato ad hoc da sostituire all'originale quando se ne abbia bisogno. Stavo pensando anche ad un metodo molto sporco ma è troppo sporco! Sicuramente c'e' qualcosa di più pulito.

[Il metodo zozzo è utilizzare il meccanismo dell'authorization...creare un ruolo fittizio a cui nessun utente può avere e utilizzare il redirect automatico dell'authentication]

Grazie.


~nullatore~
mai dire corto circuito virtuale

amelix Profilo | Expert

Io uso l'httphandler e, nel web config, imposto che tutto debba passare da li.

Il problema è che SOLO gli oggetti asp.net cadono in questa trappola...

Andrea - http://www.MelisWeb.eu/

nullatore Profilo | Junior Member

Quindi con l' HTTPHANDLER posso dirottare chiamate solo a .aspx?

Mi puoi fare un esempio?





~nullatore~
mai dire corto circuito virtuale

amelix Profilo | Expert

> Quindi con l' HTTPHANDLER posso dirottare chiamate solo a .aspx?
Non necessariamente... tutto quello che tu hai impostato su IIS da gestire con asp.net viene intercettato.
Solitamente solo .aspx, ashx etc..

Io farei così:
nel web.config
<system.web> <httpHandlers> <add verb="*" path="*.*" type="Melis.Web.HttpHandler.Working"/> </httpHandlers> </system.web>
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Molto semplice.
Può essere solamente migliorato...

Andrea - http://www.MelisWeb.eu/

pozzoli.samuele Profilo | Senior Member

Ricordate, quando siete in debug, che esiste il famoso app_offline.html?

Funziona, per le applicazioni che fanno uso di aspx, anche se sdi è in una pagina html!

Basta semplicemente mettere detto file nella root!

Allego documentazione!

Ovviamente, come leggerete nell'articolo... esistono metodi migliori, ma questo è rapido ed efficace. Ovviamente se uno deve postare pagine testate e sicure!

http://blogs.aspitalia.com/sm15455/post1890/App_Offline.htm-Quasi-Inutilita.aspx

amelix Profilo | Expert

Hai ragione...
Io l'ho abbandonato perchè non mi dava la possibilità di testare l'applicazione prima di renderla pubblica...

In effetti forse la tua soluzione è quella. Molto semplice!

Andrea - http://www.MelisWeb.eu/

pozzoli.samuele Profilo | Senior Member

Infatti, anche nell'articolo contestano questa cosa!

Prova a dare una sbirciata. Effettivamente le soluzioni sono abbastanza carine, efficaci ne semplici.

amelix Profilo | Expert

Io, dopo aver letto l'articolo che hai linkato, ho deciso di smettere di usare l'app_offline.html.
Quello che ho postato è una versione semplificata dell'handler costruito...

l'app_offline.html lo utilizzo molto di rado... Ma funziona perfettamente!

Andrea - http://www.MelisWeb.eu/

nullatore Profilo | Junior Member

>Io, dopo aver letto l'articolo che hai linkato, ho deciso di
>smettere di usare l'app_offline.html.
>Quello che ho postato è una versione semplificata dell'handler
>costruito...
>
>l'app_offline.html lo utilizzo molto di rado... Ma funziona perfettamente!
>
>Andrea - http://www.MelisWeb.eu/


Scusa Andrea, ma la tua soluzione non crea lo stesso problema dell' App_Offline.htm (ovvero impossibilità di debug)?

~nullatore~
mai dire corto circuito virtuale

amelix Profilo | Expert

Si...
Ma questa è la base da cui partire.

Io solitamente limito in base all'IP.
In ufficio ho un ip fisso e riesco facilmente ad escludere gli altri.
Andrea - http://www.MelisWeb.eu/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5