Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Workflow Persistence Serializable Problem

[es] :: .NET :: Workflow Persistence Serializable Problem

[ Pregleda: 2448 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Dragan BL
Dragan Lalos
Banja Luka

Član broj: 79680
Poruke: 96
*.customer.blic.net.

Sajt: www.micronanostudio.com


Profil

icon Workflow Persistence Serializable Problem06.10.2008. u 13:06 - pre 189 meseci
Pozdrav,

Imam WF podignut kao WCF servis. U servisu imam naravno Interface sa nekim metodama i jedna od metoda vraca XElement klientu.

I sada klient zovne Servis servis obradi i vrati Xelement. Sve u redu.

Problem nastaje kada servis treba da Persistuje "metodu" tj dobijm error:
"errorTerminated Type 'System.Xml.Linq.XElement' in Assembly 'System.Xml.Linq, Ve
rsion=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable."

I sada kada zelim da nastavim sa WF-om, tj. pokusam da "probudim" WF iz baze sa odredjenim ID-om i dobijem error kao da ne postoji taj ID u bazi.

Ako kod metode povratni tip stavim u string sve radi bez problema.

Gde sam pogresio i sta se misli pod "not marked as serializable"? Gde da markiram i sta? :)

Hvala
 
Odgovor na temu

bags

Član broj: 10072
Poruke: 715
*.it-austria.net.



+2 Profil

icon Re: Workflow Persistence Serializable Problem06.10.2008. u 13:46 - pre 189 meseci
Mozes li detaljnije napisati kako obradjujes dobijeni rezultat i kako ga snimas u bazu?

Fazon je u tome da ako preko WCF razmenjujes podatke oni moraju biti serijalizabilni zbog prenosa preko mreze, to u principu znaci da te klase moraju imati atribut Serializable.

Ako vec dobijas samo jedan element kao povrtanu vrednost onda mozes od njega na klijentu napraviti XElement.
Free advice is seldom cheap.
 
Odgovor na temu

Dragan BL
Dragan Lalos
Banja Luka

Član broj: 79680
Poruke: 96
*.customer.blic.net.

Sajt: www.micronanostudio.com


Profil

icon Re: Workflow Persistence Serializable Problem07.10.2008. u 07:33 - pre 189 meseci
Citat:
bags: Mozes li detaljnije napisati kako obradjujes dobijeni rezultat i kako ga snimas u bazu?

Fazon je u tome da ako preko WCF razmenjujes podatke oni moraju biti serijalizabilni zbog prenosa preko mreze, to u principu znaci da te klase moraju imati atribut Serializable.

Ako vec dobijas samo jedan element kao povrtanu vrednost onda mozes od njega na klijentu napraviti XElement.


Pa snima se sam u bazu kao i sam se vadi iz baze ja mu samo proslijedim ID.

Ne radi.
Code:

[OperationContract]
        XElement DodajSaglasnost(DataTable[] tables);



Radi
Code:
[OperationContract]
       string DodajSaglasnost(DataTable[] tables);


Xelement koji zelim da vratim
Code:
return new XElement(

            "Success",
            new XElement("Source", "Workflow"),
            new XElement("Command", command),
            new XElement("Type", typeof(XElement)),
            new XElement("Description", description))


Za smjestanje u bazu zaduzeno je (dio koda)
Code:

SqlWorkflowPersistenceService persistService = new SqlWorkflowPersistenceService(connectString, unloadOnIdle,
                instanceOwnershipDuration, loadingInterval);


Ako ti sta jos treba samo reci.

P.S. Negde procita da je XElement serijalizabilan a ovo vidim
Code:

namespace System.Xml.Linq
{
    // Summary:
    //     Represents an XML element.
    [XmlSchemaProvider("", IsAny = true)]
    public class XElement : XContainer, IXmlSerializable
......


Hvala
 
Odgovor na temu

bags

Član broj: 10072
Poruke: 715
*.it-austria.net.



+2 Profil

icon Re: Workflow Persistence Serializable Problem07.10.2008. u 09:00 - pre 189 meseci
Probaj ovako:

Code:

[XmlSerializerFormat]
[OperationContract]
XElement DodajSaglasnost(DataTable[] tables);


Verovatno ce ici malo sporije, ali trebalo bi da radi.
Free advice is seldom cheap.
 
Odgovor na temu

Dragan BL
Dragan Lalos
Banja Luka

Član broj: 79680
Poruke: 96
*.customer.blic.net.

Sajt: www.micronanostudio.com


Profil

icon Re: Workflow Persistence Serializable Problem07.10.2008. u 10:36 - pre 189 meseci
Ne radi. Isto izbacuje.
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
212.5.210.*



Profil

icon Re: Workflow Persistence Serializable Problem13.10.2008. u 12:48 - pre 188 meseci
Pa pogledaj da li XElement ima atribut Serializable.

Ako ne, moraces da nadjes drugi objekat preko kog ces preneti vrednosti. Ja nemam iskustva sa XElementom, pa ne mogu reci nista o tome, ali ako "ono" ne radi, a "ono drugo" radi, samo XElement moze biti problem.

Zasto ne napravis svoj objekat koji ce prenositi vrednosti ka klijentu, a da bude Serializable? Tako je najlakse.

...

Proverio sam. XElement nema odgovarajuce svojstvo. Napravi svoj objekat.
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

Dragan BL
Dragan Lalos
Banja Luka

Član broj: 79680
Poruke: 96
*.customer.blic.net.

Sajt: www.micronanostudio.com


Profil

icon Re: Workflow Persistence Serializable Problem13.10.2008. u 12:59 - pre 188 meseci
Citat:
Dragan BL
P.S. Negde procita da je XElement serijalizabilan a ovo vidim
Code:

namespace System.Xml.Linq
{
    // Summary:
    //     Represents an XML element.
    [XmlSchemaProvider("", IsAny = true)]
    public class XElement : XContainer, IXmlSerializable
......


Citat:
bunker: Pa pogledaj da li XElement ima atribut Serializable.

Ako ne, moraces da nadjes drugi objekat preko kog ces preneti vrednosti. Ja nemam iskustva sa XElementom, pa ne mogu reci nista o tome, ali ako "ono" ne radi, a "ono drugo" radi, samo XElement moze biti problem.

Zasto ne napravis svoj objekat koji ce prenositi vrednosti ka klijentu, a da bude Serializable? Tako je najlakse.

...

Proverio sam. XElement nema odgovarajuce svojstvo. Napravi svoj objekat.


Nije problem napravio sam ja svoj objekat, tj nasao koji je Serializable, ali posto mi dosta komunikacije ide preko XElement htio sam i ovo da napravim da ide. Rijesio sam tako sto sam ga prenio kao neki objeakt, pa opet napravio XElement i nastavio da radim dalje sa XElementom.

Gore kao sto navedoh pise da ima "IXmlSerializable" zar to ne znaci da je on ipak Serializable ?

Hvala
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
212.5.210.*



Profil

icon Re: Workflow Persistence Serializable Problem13.10.2008. u 13:03 - pre 188 meseci
Ne, druze, samo je IXmlSerializable, a ne ISerializable.
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

Dragan BL
Dragan Lalos
Banja Luka

Član broj: 79680
Poruke: 96
*.customer.blic.net.

Sajt: www.micronanostudio.com


Profil

icon Re: Workflow Persistence Serializable Problem13.10.2008. u 13:14 - pre 188 meseci
Citat:
bunker: Ne, druze, samo je IXmlSerializable, a ne ISerializable.


E onda je OK. Ako ti nije samo frka da znam za ubuduce u cemu je razlika?

Hvala na brzom odgovoru.
 
Odgovor na temu

[es] :: .NET :: Workflow Persistence Serializable Problem

[ Pregleda: 2448 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.