2016-07-11 2 views
0

Ich bin neu auf WCF Webservices und ich muss eine Methode erstellen, die eine Liste mit sehr Clients und nach dem Einfügen aller Clients in der Datenbank erhalten.WCF Receive Liste von Objekten und Einfügen in Datenbank

Ater einige Suche Ich habe dies umgesetzt

IService.cs

public interface IService1 
{ 
    [OperationContract] 
    int InsertClients(MyListofClients clients); 
} 

[DataContract] 
public class MyListofClients 
{ 
    [DataMember] 
    List<Client> Clients { get; set; } 
} 

[DataContract] 
public class Client 
{ 
    [DataMember] 
    public int clientId { get; set; } 
    [DataMember] 
    public string ClientName { get; set; } 
    [DataMember] 
    public List<Client> Clients { get; set; } 
} 
} 

Servic1.svc

public int InsertClients(MyListofClients clients) 
    { 
     int res, result; 
     using (NpgsqlConnection conn = new NpgsqlConnection(connStringFarm)) 
     { 
      conn.Open(); 
      List<MyListofClients> firstStringList = new  List<MyListofClients>(); 
      string cmdStr = String.Format("Insert Into table (x1,x2)" + 
              " VALUES(@x1,@x2)"); 

      foreach (var item in firstStringList) 
      { 
       NpgsqlCommand cmd = new NpgsqlCommand(cmdStr, conn); 
       result = cmd.ExecuteNonQuery(); 
      } 

      conn.Close(); 
      return 0; 
      } 

App-Client

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim db_comm As New NpgsqlCommand 
    Dim Reader As NpgsqlDataReader 


    Dim query As String = "Select code1,name1 from clientes" 
    db_comm.CommandText = query 
    db_comm.Connection = conn 
    conn.open 
    Reader = db_comm.ExecuteReader 

    Dim list As New List(Of String) 

    While Reader.Read 
     list.Add(Reader.GetString("code1")) 
     list.Add(Reader.GetString("name1")) 
    End While 

    Dim API As APICS.Service1Client = New APICS.Service1Client() 
    API.InsertClientsAsync(list) 
End Sub 

ERROR Wert vom Typ 'List (Of String)' umgewandelt werden kann nicht zu 'MyListofClients'.

Jemand kann mir helfen ??

Dank

+0

Das sieht gut aus, was ist Ihre Frage? –

+0

Kann Ihnen nicht helfen, wenn Sie uns nicht sagen, was das Problem ist. Erhalten Sie einen Fehler? Passiert nichts? Wie hosten Sie den Service? Welches DBMS benutzt du? – Tim

+0

Jetzt vom App-Client in vb.net muss ich auch eine Liste für meinen WCF-Dienst übergeben. Grundsätzlich brauche ich auch Daten aus anderen Datenbanken und sende die Daten an diese in der Liste. Wie kann ich das machen ?? Tim Ich benutze IIS zu Host und PostgreSQL –

Antwort

0

Ihre Service-Methode erwartet MyListOfClient Objekt, aber sie sind vorbei Liste der Zeichenfolge.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
Dim db_comm As New NpgsqlCommand 
Dim Reader As NpgsqlDataReader 


Dim query As String = "Select code1,name1 from clientes" 
db_comm.CommandText = query 
db_comm.Connection = conn 
conn.open 
Reader = db_comm.ExecuteReader 

Dim list As New List(Of String) --> wrong; this should be MyListOfClient 

While Reader.Read 
    list.Add(Reader.GetString("code1")) 
    list.Add(Reader.GetString("name1")) 
End While 

Dim API As APICS.Service1Client = New APICS.Service1Client() 
API.InsertClientsAsyn(list) --> wrong; this should be MyListOfClient 
+0

aber MyListOfClient ist eine Liste. was soll ich da hinstellen? –

Verwandte Themen