13 messaggi dal 23 maggio 2003
Salve a tutti.
Ho il seguente problema.
Ho due applicazioni web che possono girare su due domini diversi: http:\\primodominio\chiama.aspx e http:\\secondodominio\risponde.aspx

La prima pagina, al verificarsi di certe condizioni, deve recuperare delle info e richiamare la seconda.
La soluzione attualmente realizzata fa una Response.Redirect("http:\\secondodominio\risponde.aspx?param=xxxx")

Il problema è che occorre passare alla pagina risponde.aspx ulteriori parametri, in particolare dei dati identificativi dell'utente, e vorrei evitare di passarli in chiaro nell'url.

Ho provato a inserire nella pagina chiama.aspx questo codice:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(txURL.Text);
req.Headers.Add("uid", txCodiceFiscaleContribuente.Text);
req.Headers.Add("redirectURL", txReferredUrl.Text);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
WebResponse response = req.GetResponse();

e in effetti lato server nella pagina risponde.aspx arrivano corretamente i parametri ma poi la pagina non viene visualizzata.

mi hanno fatto aggiungere anche questo ulteriore codice:

using (StreamReader r = new StreamReader(response.GetResponseStream()))
{
Response.Write(r.ReadToEnd());
}

che mi fa visualizzare la pagina dentro http:\\primodominio\chiama.aspx ma logicamente la pagina così non funziona, e poi non è quello che volevo.
Qualcuno mi sa dire come posso fare?

Grazie
Modificato da FraNa il 24 febbraio 2009 10.13 -
FraNa wrote:
Qualcuno mi sa dire come posso fare?

web service o più in generale servizi: sono pensati proprio per queste esigenze.
da A chiami qualcosa su B che ti da' un risultato senza che il client vada mai su B.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
13 messaggi dal 23 maggio 2003
Grazie Daniele

in pratica dovrei fare un webservice magari con un metodo Redirect a cui passo i parametri che mi servono e fin qui è chiaro.
Ma poi questo webservice come fa a mandare in esecuzione l'altro sito?

Per il servizio ho ancora meno idea di come funzioni.
Puoi darmi magari qualche link utile?


Vorrei comunque chiarire che a me serve che il client vada su B, in quanto mi serve che venga attivata l'appicazione B nel complesso, come se effettivamente scrivessi http:\\secondodominio\risponde.aspx?param=xxxx; quello che devo eseguire non è un semplice webservice che lavora e mi da una risposta ma proprio l'applicazione.

Grazie
FraNa
Modificato da FraNa il 24 febbraio 2009 19.22 -
Modificato da FraNa il 24 febbraio 2009 19.23 -
FraNa wrote:
Ma poi questo webservice come fa a mandare in esecuzione l'altro sito?

http://www.aspitalia.com/ricerca/super.aspx?key=web+service

Per il servizio ho ancora meno idea di come funzioni.

un servizio è come un web service. la differenza è che non è legato (solo) ad HTTP come transport.

Vorrei comunque chiarire che a me serve che il client vada su B, in quanto mi serve che venga attivata l'appicazione B nel complesso, come se effettivamente scrivessi
http:\\secondodominio\risponde.aspx?param=xxxx; quello che devo eseguire non è un semplice webservice che lavora e mi da una risposta ma proprio l'applicazione.

perchè un semplice web service che risponde con dell'XML è diverso da una pagina che risponde con HTML?
tu passi i dati via WS, ti passi un token con il redirect e dall'altra parte recuperi, dal database o da dove ti pare, i dati associati a quel token inviato, che magari è anche criptato. in questo modo passi quanto e quello che ti pare ed al tempo stesso in tutta sicurezza.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
13 messaggi dal 23 maggio 2003
Grazie per la risposta ma scusa se sono 'di coccio' come si dice dalle mie parti ma non riesco a fare funzionare questa cosa.

Il mio problema, e ripeto che penso di non essermi spiegata bene, è che non devo avere una semplice risposta ma l'apertura della pagina nel browser.

Se io nella pagina http:\\primodominio\chiama.aspx scrivo Response.Redirect("http:\\secondodominio\risponde.aspx") nel mio browser viene aperta questa pagina in sostituzione della prima.

Adesso io vorrei ottenere lo stesso risultato (con o senza webservice) solo che non vorrei passare i parametri nel querystring per evitare che si vedano in chiaro, quindi non vorrei fare Response.Redirect("http:\\secondodominio\risponde.aspx?PARAM=xxx"), vorrei sapere se si può fare ed eventualmente come.

Scusate la mia insistenza ma non riesco proprio a cavarci i piedi.
Frazie
FraNa
FraNa wrote:
Grazie per la risposta ma scusa se sono 'di coccio' come si dice dalle mie parti ma non riesco a fare funzionare questa cosa.

rileggi cosa ho scritto. schematizzando.
- su A generi le informazioni che ti servono e le passi a B attraverso un web service
- il ws B ti risponde con una chiave (un GUID, per esempio) e salva quei dati da qualche parte, ad esempio in un database
- A fa un redirect a B, passando il GUI appena ricevuto
- B riceve il GUID, prende i dati dal database e li ricostruisce. chiaro?

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
13 messaggi dal 23 maggio 2003
Che tonta!!!!!!!!!!!
Mi ero fatta un film mio in base ad una cosa che avevo letto e poi avevo cercato di farci corrispondere la tua risposta.
Avevo capito che era il ws che doveva richiamare la pagina e non riuscivo a capire come si potesse aprire un sito web da dentro un web service.
Non avevo capito che il ws mi serviva solo per crearmi il token temporaneo per l'accesso e che poi la pagina doveva fare fare la
redirect passando il token invece dei parametri.

Scusatemi , adesso aggiungo un webmethod al mio ws e provo (forse è meglio che faccia un ws che fa solo questo tipo di verifica ... potrebbe servirmi da più parti dell'applicazione)

Ciao e grazie
FraNa

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.