Domanda

Ho recentemente aggiornato una pagina sul nostro server da ASP classico al asp.net

La pagina recieves PostData e lo salva in un file. La pagina viene utilizzata da molti dei nostri clienti e l'URL (alla pagina ASP) è programmato nel loro software. Ciò significa che non posso semplicemente scambiare la vecchia pagina per il nuovo. Sto cercando di trovare un modo per reindirizzare i client dal vecchio URL a quello nuovo. So che si può fare un redirect semplice utilizzando IIS, ma questo non causa il Postdatum per essere reindirizzato. Ho provato a installare il file in un redirect temporanea 307, questo funziona quando i dati sono nelle richieste POST formdata ma anche altri come ad esempio quelli che utilizzano la libreria MSXML non funzionano.

In sostanza ho bisogno di trovare un modo in IIS per inoltrare una richiesta POST da una pagina all'altra senza perdere del corpo.

È stato utile?

Soluzione 2

Il modo migliore che ho trovato è stato quello di utilizzare il codice di reindirizzamento temporaneo in IIS, anche se questo non ha funzionato per postdata provenienti dalla libreria MSXML. Alla fine ho dovuto scrivere una libreria COM in .NET per fare il duro lavoro utilizzando le librerie system.encoding e quindi fare riferimento la libreria COM in ASP

Altri suggerimenti

Se le due pagine sono all'interno della stessa applicazione, è possibile utilizzare server.Transfer. Questo sposta solo la trasformazione dalla vecchia pagina al nuovo, e mantiene tutti i dati di richiesta.

Si può sempre di programma (in asp.old) un ciclo che passa attraverso tutti i form-data e inserire un record con tutti i valori nel database. È quindi reindirizzare l'utente al tuo aspx-page con l'id della riga nel database come un parametro querystring. Fare attenzione se la forma-dati sono sensibili, di applicare una sorta di sicurezza per assicurarsi che gli utenti wont "rubare" altri dati modificando querystring.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top