Torna al Thread
Private Sub Subscribe()
Dim retCode As String = "1"
' se retCode = 1 ritorna codice d’errore, se retCode = 0 ritorna il testo
Dim ret_val As String = SubscribeUser(retCode)
' Ottenuto il valore di ritorno di decide cosa fare/visualizzare
' ********************************************************
' Se si è impostato il parametro retCode = 1 i valori di ritorno sono:
' 0 : Operazione completata
' 1 : Errore generico
' 2 : Indirizzo non valido
' 3 : Utente già iscritto
' ********************************************************
Select Case ret_val
Case "0"
' Visualizzare un messaggio che l'utente è stato iscritto con successo
Exit Select
Case "1"
' Visualizzare un messaggio che il servizio al momento non è raggiungibile
Exit Select
Case "2"
' Visualizzare un messaggio che l'indirizzo e-mail inserito non risulta essere valido
Exit Select
Case "3"
' Visualizzare il messaggio che l'utente è già iscritto
Exit Select
Case Else
' Visualizzare messaggio di servizio momentaneamente non disponibile
Exit Select
End Select
'**************************************************************************
' Se si è impostato il parametro retCode = 0 viene restituito il testo dell’errore
'**************************************************************************
' Il valore ret_val può essere associato ad esempio ad un oggetto Label
End Sub
' Questa funzione chiama la pagina di registrazione utente e restituisce il valore di ritorno
Private Function SubscribeUser(retCode As String) As String
Dim strEmail As String = Request.Params("email")
' l'e-mail dell'utente
Dim intList As String = Request.Params("list")
' la lista
Dim intGroup As String = Request.Params("group")
' il gruppo nel quale iscrivere l'utente (opzionale)
Dim blnConfirm As String = 1
'Richiedo conferma
Dim csvFldNames As String = "campo1;campo2;campo3;campo4"
'Prendo i nomi dei campi dalla tabella codici
Dim csvFldValues As String = "Nome;Cognome;Società;M"
'Assegno i valori corrispondenti ai campi nello stesso ordine
Dim result As String = ""
' valore di ritorno
Dim url As String = "INDIRIZZO PERSONALIZZATO"
url += "?list=" & intList & "&group=" & intGroup & "&email=" & strEmail & "&confirm=" & blnConfirm.ToString() & "&csvFldNames=" & csvFldNames & "&csvFldValues=" & csvFldValues & "&retCode=" & retCode
Dim wreq As System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
wreq.Method = "GET"
wreq.Timeout = 10000
Dim wr As System.Net.HttpWebResponse = DirectCast(wreq.GetResponse(), System.Net.HttpWebResponse)
' Se la risposta della pagina è corretta ricavo il valore di ritorno
If wr.StatusCode = System.Net.HttpStatusCode.OK Then
Dim s As System.IO.Stream = wr.GetResponseStream()
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("utf-8")
Dim readStream As New System.IO.StreamReader(s, enc)
' valore di ritorno
result = readStream.ReadToEnd()
End If
Return result
End Function