63 messaggi dal 18 aprile 2008
grazie ci darò un'occhiata...
nel frattempo ho creato un webservice1.asmx con una funzione che estrapola dei dati da access e li salva nel hd in un file xml
testando nel browser funziona e mi salva il file xml...

ho aggiunto un nuovo progetto sl poi riferimenti al servizio e scritto il codice

 
Dim srv As WebService1SoapClient = New WebService1SoapClient
    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click

        srv.XXXAsync("matteo")

End Sub


SL non mi crea nessun file...
dove sbaglio?
tu devi salvare in locale il file o lo devi usare come fonte dati in un controllo di SL?

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
63 messaggi dal 18 aprile 2008
lo vorrei usare come fonte di dati...
aggiungi la reference al servizio, VS ti crea la classe proxy e associ il risultato all'ItemSource del controllo, esempio:
private void GetXML()
{
    ServiceReference1.ServizioXMLClient proxy = new ServiceReference1.ServizioXMLClient();

    proxy.GetXMLCompleted += new EventHandler<GetXMLCompletedEventArgs>(proxy_GetXMLCompleted);

    proxy.GetXMLAsync();
}

void proxy_GetXMLCompleted(object sender, GetXMLCompletedEventArgs e)
{
    if (e.Error == null)
    {
        control.ItemsSource = e.Result.ToList();
    }
}


facendo ritornare un file xml dal servizio devi gestire il filestream, se il tipo di dati lo consente è più semplice se il servizio ritorna una List
Modificato da fileman il 05 dicembre 2010 00.54 -

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
63 messaggi dal 18 aprile 2008
ok... non sono pratico di queste cose però ho già creato degli handler su win form ...
questo è quello che son riuscito a fare per ora... naturalmente nn funziona però spero di essere sulla strada giusta...

 Private Sub GetNome()
        Dim proxy As Service1Client = New Service1Client
        AddHandler proxy.ScriviNomeCompleted, AddressOf proxy_ScriviNomeCompleted
        proxy.ScriviNomeAsync("matteo")
    End Sub

    Private Sub proxy_ScriviNomeCompleted(ByVal sender As System.Object, ByVal e As ScriviNomeCompletedEventArgs)
        If (e.Error Is Nothing) Then
            TextBox1.Text = e.Result 'control.ItemsSource = e.Result.ToList
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
        GetNome()
    End Sub


SL quando clicco il button1 nn muove una foglia e forse dovrei usare proxy_ScriviNomeCompleted per ottenere qualcosa ma nn sò farlo.
TextBox1.Text = e.Result
credo che il problema sia qui, il servizio cosa ritorna come Tipo?

nell'esempio ritornava un List e quindi e.Result.ToList(), in caso ritornasse una classe con una proprietà nome, sarebbe e.Result.nome
Modificato da fileman il 06 dicembre 2010 10.18 -

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
63 messaggi dal 18 aprile 2008
questo web service di esempio mi restituisce una string (il nome matteo)

 proxy.ScriviNomeAsync("matteo")


ho cambiato e.result così ma è la stessa cosa

TextBox1.Text = e.Result.toString
questo
proxy.ScriviNomeAsync("matteo")
mi dice che passi al servizio un parametro di tipo string, non cosa ritorna il servizio, a meno che il servizio non sia così:
public String Servizio (string nome)
{
    return nome;
}

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-

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.