Avatar billede joki Juniormester
29. maj 2007 - 23:55 Der er 7 kommentarer og
1 løsning

Hente custom objekt fra webservice

Hej

Hvordan får jeg mit custom objekt gennem min webservice ?
Avatar billede roenving Novice
30. maj 2007 - 00:20 #1
Ved f.eks. at serialisere det i simple datatyper ...

-- selve objektet kan jo naturligvis ikke væltes igennem en http-request, så du kan f.eks. lave det til en xml-struktur via serialisering !-)
Avatar billede arne_v Ekspert
30. maj 2007 - 01:00 #2
Hvis du erklærer en web service med enten et argument eller en retur værdi
som er en af dig defineret klasser og den klasse har pæne public properties
bestående af simple data typer, så gør du ingenting. Det virker nemlig bare.
Avatar billede joki Juniormester
30. maj 2007 - 08:08 #3
Jeg forsøger at få mit objekt (Kunde) igennem, som så ikke er simpel data type. Har en af jer et eksemple med at serialisere et objekt i simple datatype
Avatar billede arne_v Ekspert
31. maj 2007 - 02:03 #4
hvis Kunde har public properties af simple data typer skal det virke

det virker også hvis Kunde har public properties af en type X som har public properties af simple data typer

o.s.v.
Avatar billede arne_v Ekspert
31. maj 2007 - 02:05 #5
den her virker fint:

using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;

namespace E
{
    [Serializable]
    public class Rec
    {
        private int f1;
        private string f2;
        public Rec() : this(0, "")
        {
        }
        public Rec(int f1, string f2)
        {
            this.f1 = f1;
            this.f2 = f2;
        }
        public int F1
        {
            get
            {
                return f1;
            }
            set
            {
                f1 = value;
            }
        }
        public string F2
        {
            get
            {
                return f2;
            }
            set
            {
                f2 = value;
            }
        }
    }

    public class DataGateway
    {
        [WebMethod]
        public Rec[] GetAll()
        {
            SqlConnection con = new SqlConnection("server=ARNEPC3;Integrated Security=SSPI;database=Test");
            con.Open();
            SqlCommand cmd = new SqlCommand("SELECT F1,F2 FROM T1", con);
            ArrayList list = new ArrayList();
            SqlDataReader rdr = cmd.ExecuteReader();
            while(rdr.Read())
            {
                list.Add(new Rec((int)rdr[0], (string)rdr[1]));
            }
            rdr.Close();
            con.Close();
            Rec[] res = (Rec[])list.ToArray(typeof(Rec));
            return res;
        }
    }
}
Avatar billede arne_v Ekspert
17. juni 2007 - 05:44 #6
joki ?
Avatar billede joki Juniormester
17. juni 2007 - 19:18 #7
sorry smid bare et svar
Avatar billede arne_v Ekspert
17. juni 2007 - 20:01 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester